@etherisc/gif-next 0.0.2-fd4931b-974 → 0.0.2-fd9539f-062
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 +20 -3
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +19 -13
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +115 -80
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +86 -59
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +11 -5
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +20 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +32 -101
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +83 -71
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +121 -12
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +105 -85
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +708 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +125 -29
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +195 -64
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +206 -49
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +79 -36
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +248 -118
- 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 +0 -53
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +2 -71
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +8 -116
- 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/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +10 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +759 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +1146 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +1034 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +730 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +91 -48
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +74 -43
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +20 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +11 -5
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +35 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +18 -12
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +84 -42
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +63 -40
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +79 -36
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +68 -37
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +119 -68
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +88 -53
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +20 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +20 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +20 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +20 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +11 -5
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.json +20 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +97 -46
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +77 -42
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +105 -62
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +81 -50
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +18 -12
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +61 -26
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +59 -32
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +82 -45
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -1
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.json +129 -0
- 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 +254 -97
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1901 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +69 -15
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +51 -35
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +288 -182
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.json +171 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +187 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +46 -177
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessAdmin.sol/AccessAdmin.json +1559 -0
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1747 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1760 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1838 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1856 -0
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +18 -12
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +119 -69
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +85 -54
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +20 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.json +1189 -0
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1600 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +11 -5
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +27 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +11 -5
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +0 -10
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -1
- 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 +20 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +18 -12
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +10 -20
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +6 -6
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +27 -35
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +13 -7
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +6 -6
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +35 -16
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +15 -9
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +20 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +6 -6
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +247 -579
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +471 -62
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +460 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +303 -798
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +81 -164
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +368 -39
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +503 -120
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +67 -43
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2261 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +281 -18
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +68 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +40 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +12 -12
- 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/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +28 -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 +96 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +4 -4
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +4 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +114 -4
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +52 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +17 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +2 -2
- package/contracts/distribution/Distribution.sol +2 -4
- package/contracts/distribution/DistributionService.sol +5 -6
- package/contracts/distribution/DistributionServiceManager.sol +1 -13
- package/contracts/distribution/IDistributionComponent.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +1 -1
- package/contracts/instance/BundleManager.sol +1 -1
- package/contracts/instance/IInstance.sol +22 -12
- package/contracts/instance/IInstanceService.sol +27 -13
- package/contracts/instance/Instance.sol +85 -50
- package/contracts/instance/InstanceAdmin.sol +331 -0
- package/contracts/instance/InstanceAuthorizationsLib.sol +193 -152
- package/contracts/instance/InstanceReader.sol +33 -7
- package/contracts/instance/InstanceService.sol +120 -48
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +30 -21
- package/contracts/instance/base/BalanceStore.sol +12 -7
- package/contracts/instance/base/Cloneable.sol +3 -26
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectManager.sol +2 -4
- package/contracts/instance/module/IAccess.sol +3 -11
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +1 -1
- package/contracts/instance/module/IDistribution.sol +1 -1
- package/contracts/instance/module/IPolicy.sol +1 -1
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/IOracle.sol +20 -0
- package/contracts/oracle/IOracleComponent.sol +32 -0
- package/contracts/oracle/IOracleService.sol +65 -0
- package/contracts/oracle/Oracle.sol +145 -0
- package/contracts/oracle/OracleService.sol +278 -0
- package/contracts/oracle/OracleServiceManager.sol +42 -0
- package/contracts/pool/BundleService.sol +20 -20
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +1 -1
- package/contracts/pool/IPoolComponent.sol +1 -1
- package/contracts/pool/IPoolService.sol +4 -1
- package/contracts/pool/Pool.sol +1 -1
- package/contracts/pool/PoolService.sol +38 -10
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +6 -6
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/ClaimService.sol +12 -7
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +1 -1
- package/contracts/product/IClaimService.sol +7 -1
- package/contracts/product/IPolicyService.sol +1 -1
- package/contracts/product/IPricingService.sol +1 -1
- package/contracts/product/IProductComponent.sol +1 -1
- package/contracts/product/IProductService.sol +1 -1
- package/contracts/product/PolicyService.sol +9 -7
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +8 -9
- package/contracts/product/PricingServiceManager.sol +1 -1
- package/contracts/product/Product.sol +1 -1
- package/contracts/product/ProductService.sol +6 -6
- package/contracts/product/ProductServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +2 -1
- package/contracts/registry/IRegistry.sol +21 -15
- package/contracts/registry/IRegistryService.sol +2 -1
- package/contracts/registry/IServiceAuthorization.sol +35 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -1
- package/contracts/registry/Registry.sol +86 -67
- package/contracts/registry/RegistryAdmin.sol +333 -0
- package/contracts/registry/RegistryService.sol +9 -71
- package/contracts/registry/RegistryServiceManager.sol +2 -21
- package/contracts/registry/ReleaseManager.sol +219 -222
- package/contracts/registry/ServiceAuthorization.sol +86 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +57 -61
- package/contracts/shared/AccessAdmin.sol +759 -0
- package/contracts/shared/AccessManagerCustom.sol +741 -0
- package/contracts/shared/AccessManagerExtended.sol +481 -0
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +137 -0
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
- package/contracts/shared/Component.sol +9 -14
- package/contracts/shared/ComponentService.sol +40 -18
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +14 -8
- package/contracts/shared/ERC165.sol +1 -1
- package/contracts/shared/IAccessAdmin.sol +168 -0
- package/contracts/shared/IAccessManagerExtended.sol +74 -0
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +18 -0
- package/contracts/shared/IComponent.sol +4 -8
- package/contracts/shared/IComponentService.sol +12 -1
- package/contracts/shared/IInstanceLinkedComponent.sol +1 -1
- package/contracts/shared/IKeyValueStore.sol +2 -2
- package/contracts/shared/ILifecycle.sol +1 -1
- package/contracts/shared/INftOwnable.sol +2 -2
- package/contracts/shared/IPolicyHolder.sol +1 -1
- package/contracts/shared/IRegisterable.sol +1 -1
- package/contracts/shared/IRegistryLinked.sol +1 -1
- package/contracts/shared/IService.sol +8 -1
- package/contracts/shared/IVersionable.sol +1 -1
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InstanceLinkedComponent.sol +2 -3
- package/contracts/shared/KeyValueStore.sol +2 -5
- package/contracts/shared/Lifecycle.sol +12 -3
- package/contracts/shared/NftIdSetManager.sol +3 -7
- package/contracts/shared/NftOwnable.sol +3 -14
- package/contracts/shared/PolicyHolder.sol +3 -2
- package/contracts/shared/ProxyManager.sol +7 -3
- package/contracts/shared/Registerable.sol +1 -1
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +28 -22
- package/contracts/shared/TokenHandler.sol +1 -1
- package/contracts/shared/UpgradableProxyWithAdmin.sol +1 -1
- package/contracts/shared/Versionable.sol +1 -1
- package/contracts/staking/IStaking.sol +94 -39
- package/contracts/staking/IStakingService.sol +71 -40
- package/contracts/staking/StakeManagerLib.sol +231 -0
- package/contracts/staking/Staking.sol +303 -138
- package/contracts/staking/StakingManager.sol +23 -21
- package/contracts/staking/StakingReader.sol +120 -25
- package/contracts/staking/StakingService.sol +194 -77
- package/contracts/staking/StakingServiceManager.sol +3 -3
- package/contracts/staking/StakingStore.sol +613 -0
- package/contracts/staking/TargetManagerLib.sol +77 -11
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +16 -2
- package/contracts/type/Blocknumber.sol +14 -2
- package/contracts/type/ClaimId.sol +1 -1
- package/contracts/type/DistributorType.sol +1 -1
- package/contracts/type/Fee.sol +1 -1
- package/contracts/type/Key32.sol +1 -1
- package/contracts/type/NftId.sol +9 -9
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +140 -68
- package/contracts/type/PayoutId.sol +1 -1
- package/contracts/type/Referral.sol +1 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +79 -21
- package/contracts/type/Seconds.sol +19 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +13 -1
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +7 -3
- package/contracts/type/UFixed.sol +1 -1
- package/contracts/type/Version.sol +1 -1
- package/package.json +6 -3
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -298
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/contracts/instance/InstanceAccessManager.sol +0 -543
- package/contracts/registry/RegistryAccessManager.sol +0 -167
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
@@ -1,8 +1,9 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
4
|
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
5
|
|
6
|
+
import {Amount} from "../type/Amount.sol";
|
6
7
|
import {ClaimId} from "../type/ClaimId.sol";
|
7
8
|
import {DistributorType} from "../type/DistributorType.sol";
|
8
9
|
import {PayoutId} from "../type/PayoutId.sol";
|
@@ -13,12 +14,15 @@ import {RiskId} from "../type/RiskId.sol";
|
|
13
14
|
import {VersionPart} from "../type/Version.sol";
|
14
15
|
import {Key32} from "../type/Key32.sol";
|
15
16
|
import {RoleId} from "../type/RoleId.sol";
|
17
|
+
import {Seconds} from "../type/Seconds.sol";
|
18
|
+
import {UFixed} from "../type/UFixed.sol";
|
16
19
|
|
20
|
+
import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
|
17
21
|
import {IRegisterable} from "../shared/IRegisterable.sol";
|
18
22
|
|
19
23
|
import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
|
20
24
|
|
21
|
-
import {
|
25
|
+
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
22
26
|
import {BundleManager} from "./BundleManager.sol";
|
23
27
|
import {InstanceReader} from "./InstanceReader.sol";
|
24
28
|
import {InstanceStore} from "./InstanceStore.sol";
|
@@ -36,15 +40,14 @@ import {IPolicyService} from "../product/IPolicyService.sol";
|
|
36
40
|
import {IBundleService} from "../pool/IBundleService.sol";
|
37
41
|
|
38
42
|
|
39
|
-
|
40
43
|
interface IInstance is
|
41
44
|
IRegisterable,
|
42
45
|
ITransferInterceptor,
|
43
46
|
IAccessManaged
|
44
47
|
{
|
45
|
-
error
|
46
|
-
error
|
47
|
-
error
|
48
|
+
error ErrorInstanceInstanceAdminZero();
|
49
|
+
error ErrorInstanceInstanceAdminAlreadySet(address InstanceAdmin);
|
50
|
+
error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
|
48
51
|
|
49
52
|
error ErrorInstanceBundleManagerAlreadySet(address instanceBundleManager);
|
50
53
|
error ErrorInstanceBundleManagerInstanceMismatch(address instance);
|
@@ -55,6 +58,10 @@ interface IInstance is
|
|
55
58
|
error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
|
56
59
|
error ErrorInstanceInstanceStoreAuthorityMismatch(address instanceAuthority);
|
57
60
|
|
61
|
+
struct InstanceInfo {
|
62
|
+
uint64 requestsCount;
|
63
|
+
}
|
64
|
+
|
58
65
|
function createRole(string memory roleName, string memory adminName) external returns (RoleId roleId, RoleId admin);
|
59
66
|
function grantRole(RoleId roleId, address account) external;
|
60
67
|
function revokeRole(RoleId roleId, address account) external;
|
@@ -63,15 +70,18 @@ interface IInstance is
|
|
63
70
|
function setTargetFunctionRole(string memory targetName, bytes4[] calldata selectors, RoleId roleId) external;
|
64
71
|
function setTargetLocked(address target, bool locked) external;
|
65
72
|
|
66
|
-
function
|
67
|
-
function
|
68
|
-
function
|
69
|
-
|
70
|
-
|
73
|
+
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
74
|
+
function setStakingRewardRate(UFixed rewardRate) external;
|
75
|
+
function refillStakingRewardReserves(Amount dipAmount) external;
|
76
|
+
|
77
|
+
/// @dev defunds the staking reward reserves for the specified target
|
78
|
+
/// permissioned: only the target owner may call this function
|
79
|
+
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
71
80
|
|
72
81
|
function getMajorVersion() external pure returns (VersionPart majorVersion);
|
73
82
|
function getInstanceReader() external view returns (InstanceReader);
|
74
83
|
function getBundleManager() external view returns (BundleManager);
|
75
|
-
function
|
84
|
+
function getInstanceAdmin() external view returns (InstanceAdmin);
|
76
85
|
function getInstanceStore() external view returns (InstanceStore);
|
86
|
+
function getInstanceAccessManager() external view returns (AccessManagerExtendedInitializeable);
|
77
87
|
}
|
@@ -1,25 +1,29 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
|
+
import {Amount} from "../type/Amount.sol";
|
5
|
+
import {BundleManager} from "./BundleManager.sol";
|
6
|
+
import {Instance} from "./Instance.sol";
|
7
|
+
import {IService} from "../shared/IService.sol";
|
4
8
|
import {NftId} from "../type/NftId.sol";
|
5
9
|
import {ObjectType} from "../type/ObjectType.sol";
|
6
10
|
import {RoleId} from "../type/RoleId.sol";
|
7
|
-
import {
|
8
|
-
|
9
|
-
import {
|
10
|
-
import {InstanceAccessManager} from "./InstanceAccessManager.sol";
|
11
|
-
import {Instance} from "./Instance.sol";
|
12
|
-
import {InstanceReader} from "./InstanceReader.sol";
|
13
|
-
import {BundleManager} from "./BundleManager.sol";
|
14
|
-
import {InstanceStore} from "./InstanceStore.sol";
|
11
|
+
import {Seconds} from "../type/Seconds.sol";
|
12
|
+
import {UFixed} from "../type/UFixed.sol";
|
13
|
+
import {VersionPart} from "../type/Version.sol";
|
15
14
|
|
16
15
|
interface IInstanceService is IService {
|
17
16
|
|
17
|
+
// onlyInstance
|
18
|
+
error ErrorInstanceServiceNotRegistered(address instance);
|
19
|
+
error ErrorInstanceServiceNotInstance(address instance, ObjectType objectType);
|
20
|
+
error ErrorInstanceServiceInstanceVersionMismatch(address instance, VersionPart instanceVersion);
|
21
|
+
|
18
22
|
error ErrorInstanceServiceComponentNotInstanceLinked(address component);
|
19
23
|
|
20
24
|
error ErrorInstanceServiceMasterInstanceAlreadySet();
|
21
|
-
error ErrorInstanceServiceMasterOzAccessManagerAlreadySet();
|
22
25
|
error ErrorInstanceServiceMasterInstanceAccessManagerAlreadySet();
|
26
|
+
error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
|
23
27
|
error ErrorInstanceServiceMasterBundleManagerAlreadySet();
|
24
28
|
error ErrorInstanceServiceInstanceAddressZero();
|
25
29
|
|
@@ -28,7 +32,7 @@ interface IInstanceService is IService {
|
|
28
32
|
error ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader();
|
29
33
|
error ErrorInstanceServiceInstanceReaderInstanceMismatch();
|
30
34
|
|
31
|
-
error
|
35
|
+
error ErrorInstanceServiceInstanceAdminZero();
|
32
36
|
error ErrorInstanceServiceInstanceReaderZero();
|
33
37
|
error ErrorInstanceServiceBundleManagerZero();
|
34
38
|
error ErrorInstanceServiceInstanceStoreZero();
|
@@ -40,8 +44,7 @@ interface IInstanceService is IService {
|
|
40
44
|
error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
|
41
45
|
|
42
46
|
error ErrorInstanceServiceRequestUnauhorized(address caller);
|
43
|
-
error
|
44
|
-
error ErrorInstanceServiceNotInstance(NftId nftId);
|
47
|
+
error ErrorInstanceServiceNotInstanceNftId(NftId nftId);
|
45
48
|
error ErrorInstanceServiceComponentNotRegistered(address componentAddress);
|
46
49
|
error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
|
47
50
|
error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
|
@@ -59,10 +62,21 @@ interface IInstanceService is IService {
|
|
59
62
|
function createInstanceClone()
|
60
63
|
external
|
61
64
|
returns (
|
65
|
+
// TODO check if Instance can be changed to IInstance
|
62
66
|
Instance clonedInstance,
|
63
67
|
NftId instanceNftId
|
64
68
|
);
|
65
69
|
|
70
|
+
|
71
|
+
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
72
|
+
function setStakingRewardRate(UFixed rewardRate) external;
|
73
|
+
function refillStakingRewardReserves(address rewardProvider, Amount dipAmount) external;
|
74
|
+
|
75
|
+
/// @dev defunds the staking reward reserves for the specified target
|
76
|
+
/// permissioned: only the target owner may call this function
|
77
|
+
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
78
|
+
|
79
|
+
|
66
80
|
function createComponentTarget(
|
67
81
|
NftId instanceNftId,
|
68
82
|
address targetAddress,
|
@@ -1,27 +1,32 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.24;
|
3
3
|
|
4
4
|
import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
5
5
|
|
6
|
+
import {Amount} from "../type/Amount.sol";
|
6
7
|
import {Key32} from "../type/Key32.sol";
|
7
8
|
import {NftId} from "../type/NftId.sol";
|
8
9
|
import {RiskId} from "../type/RiskId.sol";
|
9
10
|
import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../type/ObjectType.sol";
|
10
11
|
import {RoleId, RoleIdLib, eqRoleId, ADMIN_ROLE, INSTANCE_ROLE, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
|
11
|
-
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
12
12
|
import {ClaimId} from "../type/ClaimId.sol";
|
13
13
|
import {ReferralId} from "../type/Referral.sol";
|
14
14
|
import {PayoutId} from "../type/PayoutId.sol";
|
15
15
|
import {DistributorType} from "../type/DistributorType.sol";
|
16
|
+
import {Seconds} from "../type/Seconds.sol";
|
17
|
+
import {UFixed} from "../type/UFixed.sol";
|
18
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
16
19
|
|
17
20
|
import {Registerable} from "../shared/Registerable.sol";
|
18
21
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
22
|
+
import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
|
19
23
|
|
20
24
|
import {IRegistry} from "../registry/IRegistry.sol";
|
21
25
|
|
22
26
|
import {IInstance} from "./IInstance.sol";
|
27
|
+
import {IInstanceService} from "./IInstanceService.sol";
|
23
28
|
import {InstanceReader} from "./InstanceReader.sol";
|
24
|
-
import {
|
29
|
+
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
25
30
|
import {BundleManager} from "./BundleManager.sol";
|
26
31
|
import {InstanceStore} from "./InstanceStore.sol";
|
27
32
|
|
@@ -48,7 +53,8 @@ contract Instance is
|
|
48
53
|
|
49
54
|
bool private _initialized;
|
50
55
|
|
51
|
-
|
56
|
+
IInstanceService internal _instanceService;
|
57
|
+
InstanceAdmin internal _instanceAdmin;
|
52
58
|
InstanceReader internal _instanceReader;
|
53
59
|
BundleManager internal _bundleManager;
|
54
60
|
InstanceStore internal _instanceStore;
|
@@ -65,7 +71,7 @@ contract Instance is
|
|
65
71
|
initializer()
|
66
72
|
{
|
67
73
|
if(authority == address(0)) {
|
68
|
-
revert
|
74
|
+
revert ErrorInstanceInstanceAdminZero();
|
69
75
|
}
|
70
76
|
|
71
77
|
__AccessManaged_init(authority);
|
@@ -73,40 +79,82 @@ contract Instance is
|
|
73
79
|
IRegistry registry = IRegistry(registryAddress);
|
74
80
|
initializeRegisterable(registryAddress, registry.getNftId(), INSTANCE(), true, initialOwner, "");
|
75
81
|
|
82
|
+
_instanceService = IInstanceService(
|
83
|
+
getRegistry().getServiceAddress(
|
84
|
+
INSTANCE(),
|
85
|
+
getMajorVersion()));
|
86
|
+
|
76
87
|
registerInterface(type(IInstance).interfaceId);
|
77
88
|
}
|
78
89
|
|
90
|
+
//--- Staking ----------------------------------------------------------//
|
91
|
+
|
92
|
+
function setStakingLockingPeriod(Seconds stakeLockingPeriod)
|
93
|
+
external
|
94
|
+
// TODO decide if onlyOwner or restricted to instance owner role is better
|
95
|
+
onlyOwner()
|
96
|
+
{
|
97
|
+
_instanceService.setStakingLockingPeriod(stakeLockingPeriod);
|
98
|
+
}
|
99
|
+
|
100
|
+
function setStakingRewardRate(UFixed rewardRate)
|
101
|
+
external
|
102
|
+
onlyOwner()
|
103
|
+
{
|
104
|
+
_instanceService.setStakingRewardRate(rewardRate);
|
105
|
+
}
|
106
|
+
|
107
|
+
function refillStakingRewardReserves(Amount dipAmount)
|
108
|
+
external
|
109
|
+
onlyOwner()
|
110
|
+
{
|
111
|
+
address instanceOwner = msg.sender;
|
112
|
+
_instanceService.refillStakingRewardReserves(instanceOwner, dipAmount);
|
113
|
+
}
|
114
|
+
|
115
|
+
function withdrawStakingRewardReserves(Amount dipAmount)
|
116
|
+
external
|
117
|
+
onlyOwner()
|
118
|
+
returns (Amount newBalance)
|
119
|
+
{
|
120
|
+
return _instanceService.withdrawStakingRewardReserves(dipAmount);
|
121
|
+
}
|
122
|
+
|
79
123
|
//--- Roles ------------------------------------------------------------//
|
80
124
|
|
81
125
|
function createRole(string memory roleName, string memory adminName)
|
82
126
|
external
|
127
|
+
// TODO decide if onlyOwner or restricted to instance owner role is better
|
83
128
|
restricted // INSTANCE_OWNER_ROLE
|
84
129
|
returns (RoleId roleId, RoleId admin)
|
85
130
|
{
|
86
|
-
(roleId, admin) =
|
131
|
+
(roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
|
87
132
|
}
|
88
133
|
|
89
134
|
function grantRole(RoleId roleId, address account)
|
90
135
|
external
|
136
|
+
// TODO decide if onlyOwner or restricted to instance owner role is better
|
91
137
|
restricted // INSTANCE_OWNER_ROLE
|
92
138
|
{
|
93
|
-
|
139
|
+
AccessManagerExtendedInitializeable(authority()).grantRole(roleId.toInt(), account, 0);
|
94
140
|
}
|
95
141
|
|
96
142
|
function revokeRole(RoleId roleId, address account)
|
97
143
|
external
|
144
|
+
// TODO decide if onlyOwner or restricted to instance owner role is better
|
98
145
|
restricted // INSTANCE_OWNER_ROLE
|
99
146
|
{
|
100
|
-
|
147
|
+
AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
|
101
148
|
}
|
102
149
|
|
103
150
|
//--- Targets ------------------------------------------------------------//
|
104
151
|
|
105
152
|
function createTarget(address target, string memory name)
|
106
153
|
external
|
154
|
+
// TODO decide if onlyOwner or restricted to instance owner role is better
|
107
155
|
restricted // INSTANCE_OWNER_ROLE
|
108
156
|
{
|
109
|
-
|
157
|
+
_instanceAdmin.createTarget(target, name);
|
110
158
|
}
|
111
159
|
|
112
160
|
function setTargetFunctionRole(
|
@@ -117,38 +165,41 @@ contract Instance is
|
|
117
165
|
external
|
118
166
|
restricted // INSTANCE_OWNER_ROLE
|
119
167
|
{
|
120
|
-
|
168
|
+
_instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
|
121
169
|
}
|
122
170
|
|
123
171
|
function setTargetLocked(address target, bool locked)
|
124
172
|
external
|
125
173
|
restricted // INSTANCE_OWNER_ROLE
|
126
174
|
{
|
127
|
-
|
175
|
+
_instanceAdmin.setTargetLockedByInstance(target, locked);
|
128
176
|
}
|
129
177
|
|
130
|
-
//--- ITransferInterceptor
|
178
|
+
//--- ITransferInterceptor ----------------------------------------------//
|
131
179
|
|
180
|
+
// TODO interception of child components nfts
|
132
181
|
function nftMint(address to, uint256 tokenId) external onlyChainNft {
|
133
|
-
|
134
|
-
assert(_accessManager.grantRole(INSTANCE_OWNER_ROLE(), to) == true);
|
182
|
+
_instanceAdmin.transferInstanceOwnerRole(address(0), to);
|
135
183
|
}
|
136
184
|
|
137
185
|
function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
|
138
|
-
|
139
|
-
assert(_accessManager.grantRole(INSTANCE_OWNER_ROLE(), to) == true);
|
186
|
+
_instanceAdmin.transferInstanceOwnerRole(from, to);
|
140
187
|
}
|
141
188
|
|
189
|
+
//function nftBurn(address from, uint256 tokenId) external onlyChainNft {
|
190
|
+
//_instanceAdmin.transferInstanceOwnerRole(from, address(0));
|
191
|
+
//}
|
192
|
+
|
142
193
|
//--- initial setup functions -------------------------------------------//
|
143
194
|
|
144
|
-
function
|
145
|
-
if(address(
|
146
|
-
revert
|
195
|
+
function setInstanceAdmin(InstanceAdmin accessManager) external restricted {
|
196
|
+
if(address(_instanceAdmin) != address(0)) {
|
197
|
+
revert ErrorInstanceInstanceAdminAlreadySet(address(_instanceAdmin));
|
147
198
|
}
|
148
199
|
if(accessManager.authority() != authority()) {
|
149
|
-
revert
|
200
|
+
revert ErrorInstanceInstanceAdminAuthorityMismatch(authority());
|
150
201
|
}
|
151
|
-
|
202
|
+
_instanceAdmin = accessManager;
|
152
203
|
}
|
153
204
|
|
154
205
|
function setBundleManager(BundleManager bundleManager) external restricted() {
|
@@ -172,20 +223,6 @@ contract Instance is
|
|
172
223
|
_instanceReader = instanceReader;
|
173
224
|
}
|
174
225
|
|
175
|
-
//--- external view functions -------------------------------------------//
|
176
|
-
|
177
|
-
function getInstanceReader() external view returns (InstanceReader) {
|
178
|
-
return _instanceReader;
|
179
|
-
}
|
180
|
-
|
181
|
-
function getBundleManager() external view returns (BundleManager) {
|
182
|
-
return _bundleManager;
|
183
|
-
}
|
184
|
-
|
185
|
-
function getInstanceAccessManager() external view returns (InstanceAccessManager) {
|
186
|
-
return _accessManager;
|
187
|
-
}
|
188
|
-
|
189
226
|
function setInstanceStore(InstanceStore instanceStore) external restricted {
|
190
227
|
if(address(_instanceStore) != address(0)) {
|
191
228
|
revert ErrorInstanceInstanceStoreAlreadySet(address(_instanceStore));
|
@@ -196,32 +233,30 @@ contract Instance is
|
|
196
233
|
_instanceStore = instanceStore;
|
197
234
|
}
|
198
235
|
|
199
|
-
|
200
|
-
return _instanceStore;
|
201
|
-
}
|
236
|
+
//--- external view functions -------------------------------------------//
|
202
237
|
|
203
|
-
function
|
204
|
-
return
|
238
|
+
function getInstanceReader() external view returns (InstanceReader) {
|
239
|
+
return _instanceReader;
|
205
240
|
}
|
206
241
|
|
207
|
-
function
|
208
|
-
return
|
242
|
+
function getBundleManager() external view returns (BundleManager) {
|
243
|
+
return _bundleManager;
|
209
244
|
}
|
210
245
|
|
211
|
-
function
|
212
|
-
return
|
246
|
+
function getInstanceAdmin() external view returns (InstanceAdmin) {
|
247
|
+
return _instanceAdmin;
|
213
248
|
}
|
214
249
|
|
215
|
-
function
|
216
|
-
return
|
250
|
+
function getInstanceAccessManager() external view returns (AccessManagerExtendedInitializeable) {
|
251
|
+
return AccessManagerExtendedInitializeable(authority());
|
217
252
|
}
|
218
253
|
|
219
|
-
function
|
220
|
-
return
|
254
|
+
function getInstanceStore() external view returns (InstanceStore) {
|
255
|
+
return _instanceStore;
|
221
256
|
}
|
222
257
|
|
223
|
-
function
|
224
|
-
return
|
258
|
+
function getMajorVersion() public pure returns (VersionPart majorVersion) {
|
259
|
+
return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
|
225
260
|
}
|
226
261
|
|
227
262
|
//--- internal view/pure functions --------------------------------------//
|