@etherisc/gif-next 0.0.2-8bdd2eb-413 → 0.0.2-8d9d4d6-542
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/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1502 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1168 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +110 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +129 -0
- package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/InstanceAdmin.sol/InstanceAdmin.json +1639 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +134 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +171 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +108 -79
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +48 -40
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +13 -0
- 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 +58 -65
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +120 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +72 -79
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +22 -22
- package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdminNew.sol/InstanceAdminNew.json +1676 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +289 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +70 -46
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +192 -56
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +201 -34
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +41 -17
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +248 -108
- 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/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/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 +78 -49
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +33 -25
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +13 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +13 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +62 -41
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +25 -21
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +66 -37
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +27 -19
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +106 -69
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +47 -35
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +13 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +13 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +13 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +13 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.json +13 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +84 -47
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +36 -24
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +92 -63
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +40 -32
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +54 -25
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +21 -13
- 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/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +13 -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 +19 -19
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1678 -153
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +51 -14
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +20 -8
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +99 -154
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +195 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +1 -1
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +1 -1
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +42 -10
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +1 -1
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +42 -10
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +1 -1
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +52 -20
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +1 -1
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +52 -20
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +107 -71
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +44 -36
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +13 -0
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +1 -1
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +20 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- 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/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -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 +13 -0
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +8 -8
- 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 +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
- 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 +13 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- 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/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +49 -7
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +44 -28
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +44 -84
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +23 -39
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +6 -6
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +92 -73
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +33 -41
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +186 -114
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +18 -18
- 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/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/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 +125 -2
- 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 +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 +2 -2
- 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/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/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +749 -0
- package/contracts/authorization/IAccess.sol +43 -0
- package/contracts/authorization/IAccessAdmin.sol +130 -0
- package/contracts/authorization/IModuleAuthorization.sol +27 -0
- package/contracts/authorization/IServiceAuthorization.sol +35 -0
- package/contracts/authorization/InstanceAdmin.sol +108 -0
- package/contracts/authorization/ModuleAuthorization.sol +116 -0
- package/contracts/authorization/ServiceAuthorization.sol +86 -0
- package/contracts/distribution/DistributionService.sol +3 -4
- package/contracts/instance/IInstance.sol +14 -6
- package/contracts/instance/IInstanceService.sol +24 -8
- package/contracts/instance/Instance.sol +63 -39
- package/contracts/instance/InstanceAdminNew.sol +74 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +176 -0
- package/contracts/instance/InstanceAuthorizationsLib.sol +31 -3
- package/contracts/instance/InstanceReader.sol +29 -2
- package/contracts/instance/InstanceService.sol +85 -8
- package/contracts/instance/InstanceStore.sol +29 -20
- package/contracts/instance/base/BalanceStore.sol +11 -6
- package/contracts/instance/base/Cloneable.sol +2 -25
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectManager.sol +1 -3
- 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 +19 -19
- package/contracts/pool/PoolService.sol +6 -7
- package/contracts/product/ApplicationService.sol +5 -5
- package/contracts/product/ClaimService.sol +5 -5
- package/contracts/product/IClaimService.sol +6 -0
- package/contracts/product/PolicyService.sol +5 -5
- package/contracts/product/PricingService.sol +5 -6
- package/contracts/product/ProductService.sol +5 -5
- package/contracts/registry/IRegistry.sol +1 -1
- package/contracts/registry/Registry.sol +7 -1
- package/contracts/registry/RegistryAdmin.sol +236 -148
- package/contracts/registry/RegistryService.sol +5 -5
- package/contracts/registry/RegistryServiceManager.sol +0 -5
- package/contracts/registry/ReleaseManager.sol +102 -172
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/shared/AccessManagerCustom.sol +6 -1
- package/contracts/shared/AccessManagerExtended.sol +12 -1
- package/contracts/shared/Component.sol +3 -0
- package/contracts/shared/ComponentService.sol +30 -9
- package/contracts/shared/ComponentVerifyingService.sol +13 -7
- package/contracts/shared/IComponentService.sol +11 -0
- package/contracts/shared/IService.sol +7 -0
- package/contracts/shared/Lifecycle.sol +11 -2
- package/contracts/shared/Service.sol +27 -21
- package/contracts/staking/IStakingService.sol +11 -7
- package/contracts/staking/StakeManagerLib.sol +52 -0
- package/contracts/staking/Staking.sol +58 -96
- package/contracts/staking/StakingService.sol +61 -56
- package/contracts/staking/StakingServiceManager.sol +0 -1
- package/contracts/staking/StakingStore.sol +79 -38
- package/contracts/type/ObjectType.sol +162 -67
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RoleId.sol +77 -19
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +12 -0
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +6 -2
- package/package.json +3 -3
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
@@ -85,19 +85,34 @@ contract StakingStore is
|
|
85
85
|
constructor(IRegistry registry, StakingReader reader)
|
86
86
|
AccessManaged(msg.sender)
|
87
87
|
{
|
88
|
+
// set final authority
|
89
|
+
setAuthority(registry.getAuthority());
|
90
|
+
|
91
|
+
// set internal variables
|
88
92
|
_registry = registry; //TODO if keeps registry -> RegistryLinked and checks registry address
|
89
|
-
address authority = _registry.getAuthority();
|
90
|
-
setAuthority(authority);
|
91
|
-
|
92
93
|
_reader = reader;
|
93
94
|
_targetManager = new NftIdSetManager();
|
95
|
+
|
96
|
+
// register protocol target
|
97
|
+
_createTarget(
|
98
|
+
NftIdLib.toNftId(1101),
|
99
|
+
IStaking.TargetInfo({
|
100
|
+
objectType: PROTOCOL(),
|
101
|
+
chainId: 1,
|
102
|
+
lockingPeriod: TargetManagerLib.getDefaultLockingPeriod(),
|
103
|
+
rewardRate: TargetManagerLib.getDefaultRewardRate()}));
|
94
104
|
}
|
95
105
|
|
96
106
|
|
97
107
|
//--- staking rate specific functions -----------------------------------//
|
98
108
|
|
99
|
-
function setStakingRate(
|
109
|
+
function setStakingRate(
|
110
|
+
uint256 chainId,
|
111
|
+
address token,
|
112
|
+
UFixed stakingRate
|
113
|
+
)
|
100
114
|
external
|
115
|
+
restricted()
|
101
116
|
{
|
102
117
|
_stakingRate[chainId][token] = stakingRate;
|
103
118
|
}
|
@@ -109,16 +124,9 @@ contract StakingStore is
|
|
109
124
|
IStaking.TargetInfo memory targetInfo
|
110
125
|
)
|
111
126
|
external
|
127
|
+
restricted()
|
112
128
|
{
|
113
|
-
|
114
|
-
targetNftId.toKey32(TARGET()),
|
115
|
-
abi.encode(targetInfo));
|
116
|
-
|
117
|
-
// initialize tvl and stake balance
|
118
|
-
_tvlLastUpdatedIn[targetNftId]= BlocknumberLib.currentBlocknumber();
|
119
|
-
_createTargetBalance(targetNftId);
|
120
|
-
|
121
|
-
_targetManager.add(targetNftId);
|
129
|
+
_createTarget(targetNftId, targetInfo);
|
122
130
|
}
|
123
131
|
|
124
132
|
|
@@ -127,6 +135,7 @@ contract StakingStore is
|
|
127
135
|
IStaking.TargetInfo memory targetInfo
|
128
136
|
)
|
129
137
|
external
|
138
|
+
restricted()
|
130
139
|
{
|
131
140
|
_update(
|
132
141
|
targetNftId.toKey32(TARGET()),
|
@@ -139,6 +148,7 @@ contract StakingStore is
|
|
139
148
|
Amount dipAmount
|
140
149
|
)
|
141
150
|
external
|
151
|
+
restricted()
|
142
152
|
returns (Amount newReserveBalance)
|
143
153
|
{
|
144
154
|
newReserveBalance = _reserveBalance[targetNftId] + dipAmount;
|
@@ -153,6 +163,7 @@ contract StakingStore is
|
|
153
163
|
Amount dipAmount
|
154
164
|
)
|
155
165
|
external
|
166
|
+
restricted()
|
156
167
|
returns (Amount newReserveBalance)
|
157
168
|
{
|
158
169
|
Amount reserveAmount = _reserveBalance[targetNftId];
|
@@ -170,24 +181,6 @@ contract StakingStore is
|
|
170
181
|
}
|
171
182
|
|
172
183
|
|
173
|
-
function _updateReserves(
|
174
|
-
NftId targetNftId,
|
175
|
-
Amount newRewardBalance
|
176
|
-
)
|
177
|
-
internal
|
178
|
-
returns (Blocknumber lastUpdatedIn)
|
179
|
-
{
|
180
|
-
if (_lastUpdatedIn[targetNftId].eqz()) {
|
181
|
-
revert ErrorStakingStoreNotTarget(targetNftId);
|
182
|
-
}
|
183
|
-
|
184
|
-
lastUpdatedIn = _lastUpdatedIn[targetNftId];
|
185
|
-
|
186
|
-
_reserveBalance[targetNftId] = newRewardBalance;
|
187
|
-
_lastUpdatedIn[targetNftId] = BlocknumberLib.currentBlocknumber();
|
188
|
-
}
|
189
|
-
|
190
|
-
|
191
184
|
//--- tvl specific functions -------------------------------------//
|
192
185
|
|
193
186
|
function increaseTotalValueLocked(
|
@@ -197,6 +190,7 @@ contract StakingStore is
|
|
197
190
|
Amount amount
|
198
191
|
)
|
199
192
|
external
|
193
|
+
restricted()
|
200
194
|
returns (Amount newBalance)
|
201
195
|
{
|
202
196
|
(
|
@@ -229,6 +223,7 @@ contract StakingStore is
|
|
229
223
|
Amount amount
|
230
224
|
)
|
231
225
|
external
|
226
|
+
restricted()
|
232
227
|
returns (Amount newBalance)
|
233
228
|
{
|
234
229
|
(
|
@@ -261,6 +256,7 @@ contract StakingStore is
|
|
261
256
|
IStaking.StakeInfo memory stakeInfo
|
262
257
|
)
|
263
258
|
external
|
259
|
+
restricted()
|
264
260
|
{
|
265
261
|
_create(
|
266
262
|
stakeNftId.toKey32(STAKE()),
|
@@ -274,6 +270,7 @@ contract StakingStore is
|
|
274
270
|
IStaking.StakeInfo memory stakeInfo
|
275
271
|
)
|
276
272
|
external
|
273
|
+
restricted()
|
277
274
|
{
|
278
275
|
_update(
|
279
276
|
stakeNftId.toKey32(STAKE()),
|
@@ -289,7 +286,8 @@ contract StakingStore is
|
|
289
286
|
NftId targetNftId,
|
290
287
|
Amount amount
|
291
288
|
)
|
292
|
-
|
289
|
+
external
|
290
|
+
restricted()
|
293
291
|
{
|
294
292
|
Blocknumber lastUpdatedIn = _checkBalanceExists(nftId);
|
295
293
|
|
@@ -313,6 +311,7 @@ contract StakingStore is
|
|
313
311
|
Amount rewardIncrementAmount
|
314
312
|
)
|
315
313
|
external
|
314
|
+
restricted()
|
316
315
|
{
|
317
316
|
Blocknumber lastUpdatedIn = _checkBalanceExists(nftId);
|
318
317
|
Amount stakeAmount = _stakeBalance[nftId];
|
@@ -339,6 +338,7 @@ contract StakingStore is
|
|
339
338
|
Amount rewardIncrementAmount
|
340
339
|
)
|
341
340
|
external
|
341
|
+
restricted()
|
342
342
|
{
|
343
343
|
Blocknumber lastUpdatedIn = _checkBalanceExists(nftId);
|
344
344
|
|
@@ -363,6 +363,7 @@ contract StakingStore is
|
|
363
363
|
Amount maxClaimAmount
|
364
364
|
)
|
365
365
|
external
|
366
|
+
restricted()
|
366
367
|
returns (Amount claimedAmount)
|
367
368
|
{
|
368
369
|
Blocknumber lastUpdatedIn = _checkBalanceExists(nftId);
|
@@ -392,6 +393,7 @@ contract StakingStore is
|
|
392
393
|
Amount maxClaimAmount
|
393
394
|
)
|
394
395
|
external
|
396
|
+
restricted()
|
395
397
|
returns (
|
396
398
|
Amount unstakedAmount,
|
397
399
|
Amount claimedAmount
|
@@ -475,8 +477,44 @@ contract StakingStore is
|
|
475
477
|
|
476
478
|
//--- private functions -------------------------------------------//
|
477
479
|
|
480
|
+
function _createTarget(
|
481
|
+
NftId targetNftId,
|
482
|
+
IStaking.TargetInfo memory targetInfo
|
483
|
+
)
|
484
|
+
private
|
485
|
+
{
|
486
|
+
_create(
|
487
|
+
targetNftId.toKey32(TARGET()),
|
488
|
+
abi.encode(targetInfo));
|
489
|
+
|
490
|
+
// initialize tvl and stake balance
|
491
|
+
_tvlLastUpdatedIn[targetNftId]= BlocknumberLib.currentBlocknumber();
|
492
|
+
_createTargetBalance(targetNftId);
|
493
|
+
|
494
|
+
_targetManager.add(targetNftId);
|
495
|
+
}
|
496
|
+
|
497
|
+
function _updateReserves(
|
498
|
+
NftId targetNftId,
|
499
|
+
Amount newRewardBalance
|
500
|
+
)
|
501
|
+
private
|
502
|
+
returns (Blocknumber lastUpdatedIn)
|
503
|
+
{
|
504
|
+
if (_lastUpdatedIn[targetNftId].eqz()) {
|
505
|
+
revert ErrorStakingStoreNotTarget(targetNftId);
|
506
|
+
}
|
507
|
+
|
508
|
+
lastUpdatedIn = _lastUpdatedIn[targetNftId];
|
509
|
+
|
510
|
+
_reserveBalance[targetNftId] = newRewardBalance;
|
511
|
+
_lastUpdatedIn[targetNftId] = BlocknumberLib.currentBlocknumber();
|
512
|
+
}
|
513
|
+
|
478
514
|
|
479
|
-
function _createTargetBalance(NftId nftId)
|
515
|
+
function _createTargetBalance(NftId nftId)
|
516
|
+
private
|
517
|
+
{
|
480
518
|
if (_lastUpdatedIn[nftId].gtz()) {
|
481
519
|
revert ErrorStakingStoreBalanceAlreadyInitialized(nftId);
|
482
520
|
}
|
@@ -492,7 +530,9 @@ contract StakingStore is
|
|
492
530
|
}
|
493
531
|
|
494
532
|
|
495
|
-
function _createStakeBalance(NftId nftId)
|
533
|
+
function _createStakeBalance(NftId nftId)
|
534
|
+
private
|
535
|
+
{
|
496
536
|
if (_lastUpdatedIn[nftId].gtz()) {
|
497
537
|
revert ErrorStakingStoreBalanceAlreadyInitialized(nftId);
|
498
538
|
}
|
@@ -512,7 +552,7 @@ contract StakingStore is
|
|
512
552
|
Amount newStakeAmount,
|
513
553
|
Amount newRewardAmount
|
514
554
|
)
|
515
|
-
|
555
|
+
private
|
516
556
|
{
|
517
557
|
_stakeBalance[stakeNftId] = newStakeAmount;
|
518
558
|
_rewardBalance[stakeNftId] = newRewardAmount;
|
@@ -527,7 +567,7 @@ contract StakingStore is
|
|
527
567
|
Amount newStakeAmount,
|
528
568
|
Amount newRewardAmount
|
529
569
|
)
|
530
|
-
|
570
|
+
private
|
531
571
|
{
|
532
572
|
_stakeBalance[targetNftId] = newStakeAmount;
|
533
573
|
_rewardBalance[targetNftId] = newRewardAmount;
|
@@ -537,7 +577,8 @@ contract StakingStore is
|
|
537
577
|
}
|
538
578
|
|
539
579
|
function _checkBalanceExists(NftId nftId)
|
540
|
-
|
580
|
+
private
|
581
|
+
view
|
541
582
|
returns (Blocknumber lastUpdatedIn)
|
542
583
|
{
|
543
584
|
lastUpdatedIn = _lastUpdatedIn[nftId];
|
@@ -552,7 +593,7 @@ contract StakingStore is
|
|
552
593
|
NftId targetNftId,
|
553
594
|
address token
|
554
595
|
)
|
555
|
-
|
596
|
+
private
|
556
597
|
view
|
557
598
|
returns (
|
558
599
|
Blocknumber tvlLastUpdatedIn,
|
@@ -12,141 +12,140 @@ using {
|
|
12
12
|
ObjectTypeLib.gtz
|
13
13
|
} for ObjectType global;
|
14
14
|
|
15
|
-
// general pure free functions
|
16
15
|
|
17
|
-
|
18
|
-
return toObjectType(1);
|
19
|
-
}
|
16
|
+
//--- GIF object types/domains (rage: 1 - 99) -------------------------------//
|
20
17
|
|
21
18
|
function PROTOCOL() pure returns (ObjectType) {
|
22
|
-
return
|
19
|
+
return ObjectType.wrap(1);
|
23
20
|
}
|
24
21
|
|
25
|
-
function
|
26
|
-
return
|
22
|
+
function REGISTRY() pure returns (ObjectType) {
|
23
|
+
return ObjectType.wrap(2);
|
27
24
|
}
|
28
25
|
|
29
|
-
function
|
30
|
-
return
|
26
|
+
function STAKING() pure returns (ObjectType) {
|
27
|
+
return ObjectType.wrap(3);
|
31
28
|
}
|
32
29
|
|
33
|
-
function
|
34
|
-
return
|
30
|
+
function TOKEN() pure returns (ObjectType) {
|
31
|
+
return ObjectType.wrap(6);
|
35
32
|
}
|
36
33
|
|
37
|
-
function
|
38
|
-
return
|
34
|
+
function RELEASE() pure returns (ObjectType) {
|
35
|
+
return ObjectType.wrap(7);
|
39
36
|
}
|
40
37
|
|
41
|
-
function
|
42
|
-
return
|
38
|
+
function ROLE() pure returns (ObjectType) {
|
39
|
+
return ObjectType.wrap(8);
|
43
40
|
}
|
44
41
|
|
45
42
|
function SERVICE() pure returns (ObjectType) {
|
46
|
-
return
|
43
|
+
return ObjectType.wrap(9);
|
47
44
|
}
|
48
45
|
|
49
46
|
function INSTANCE() pure returns (ObjectType) {
|
50
|
-
return
|
51
|
-
}
|
52
|
-
|
53
|
-
function STAKE() pure returns (ObjectType) {
|
54
|
-
return toObjectType(80);
|
47
|
+
return ObjectType.wrap(10);
|
55
48
|
}
|
56
49
|
|
57
50
|
function COMPONENT() pure returns (ObjectType) {
|
58
|
-
return
|
51
|
+
return ObjectType.wrap(11);
|
59
52
|
}
|
60
53
|
|
61
|
-
function
|
62
|
-
return
|
54
|
+
function PRODUCT() pure returns (ObjectType) {
|
55
|
+
return ObjectType.wrap(12);
|
63
56
|
}
|
64
57
|
|
65
|
-
function
|
66
|
-
return
|
58
|
+
function ORACLE() pure returns (ObjectType) {
|
59
|
+
return ObjectType.wrap(13);
|
67
60
|
}
|
68
61
|
|
69
|
-
function
|
70
|
-
return
|
62
|
+
function DISTRIBUTION() pure returns (ObjectType) {
|
63
|
+
return ObjectType.wrap(14);
|
71
64
|
}
|
72
65
|
|
73
|
-
function
|
74
|
-
return
|
66
|
+
function POOL() pure returns (ObjectType) {
|
67
|
+
return ObjectType.wrap(15);
|
75
68
|
}
|
76
69
|
|
77
|
-
function
|
78
|
-
return
|
70
|
+
function APPLICATION() pure returns (ObjectType) {
|
71
|
+
return ObjectType.wrap(20);
|
79
72
|
}
|
80
73
|
|
81
|
-
function
|
82
|
-
return
|
74
|
+
function POLICY() pure returns (ObjectType) {
|
75
|
+
return ObjectType.wrap(21);
|
83
76
|
}
|
84
77
|
|
85
|
-
function
|
86
|
-
return
|
78
|
+
function CLAIM() pure returns (ObjectType) {
|
79
|
+
return ObjectType.wrap(22);
|
87
80
|
}
|
88
81
|
|
89
|
-
function
|
90
|
-
return
|
82
|
+
function PAYOUT() pure returns (ObjectType) {
|
83
|
+
return ObjectType.wrap(23);
|
91
84
|
}
|
92
85
|
|
93
|
-
function
|
94
|
-
return
|
86
|
+
function RISK() pure returns (ObjectType) {
|
87
|
+
return ObjectType.wrap(24);
|
95
88
|
}
|
96
89
|
|
97
|
-
function
|
98
|
-
return
|
90
|
+
function PRICE() pure returns (ObjectType) {
|
91
|
+
return ObjectType.wrap(25);
|
99
92
|
}
|
100
93
|
|
101
|
-
function
|
102
|
-
return
|
94
|
+
function REQUEST() pure returns (ObjectType) {
|
95
|
+
return ObjectType.wrap(26);
|
103
96
|
}
|
104
97
|
|
105
|
-
function
|
106
|
-
return
|
98
|
+
function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
|
99
|
+
return ObjectType.wrap(27);
|
107
100
|
}
|
108
101
|
|
109
|
-
function
|
110
|
-
return
|
102
|
+
function DISTRIBUTOR() pure returns (ObjectType) {
|
103
|
+
return ObjectType.wrap(28);
|
111
104
|
}
|
112
105
|
|
113
|
-
function
|
114
|
-
return
|
106
|
+
function REFERRAL() pure returns (ObjectType) {
|
107
|
+
return ObjectType.wrap(29);
|
115
108
|
}
|
116
109
|
|
117
|
-
function
|
118
|
-
return
|
110
|
+
function BUNDLE() pure returns (ObjectType) {
|
111
|
+
return ObjectType.wrap(30);
|
119
112
|
}
|
120
113
|
|
121
|
-
function
|
122
|
-
return
|
114
|
+
function TARGET() pure returns (ObjectType) {
|
115
|
+
return ObjectType.wrap(31);
|
123
116
|
}
|
124
117
|
|
125
|
-
|
126
|
-
|
127
|
-
return ObjectType.wrap(uint8(objectType));
|
118
|
+
function STAKE() pure returns (ObjectType) {
|
119
|
+
return ObjectType.wrap(32);
|
128
120
|
}
|
129
121
|
|
130
|
-
|
131
|
-
///
|
132
|
-
function
|
133
|
-
return ObjectType.wrap(
|
122
|
+
/// @dev Object type that includes any other object type.
|
123
|
+
/// Note that eq()/'==' does not take this property into account.
|
124
|
+
function ALL() pure returns (ObjectType) {
|
125
|
+
return ObjectType.wrap(99);
|
134
126
|
}
|
135
127
|
|
136
|
-
// pure free functions for operators
|
128
|
+
// other pure free functions for operators
|
137
129
|
function eqObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
|
138
130
|
return ObjectType.unwrap(a) == ObjectType.unwrap(b);
|
139
131
|
}
|
140
132
|
|
141
|
-
function neObjectType(
|
142
|
-
ObjectType a,
|
143
|
-
ObjectType b
|
144
|
-
) pure returns (bool isDifferent) {
|
133
|
+
function neObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
|
145
134
|
return ObjectType.unwrap(a) != ObjectType.unwrap(b);
|
146
135
|
}
|
147
136
|
|
148
137
|
// library functions that operate on user defined type
|
149
138
|
library ObjectTypeLib {
|
139
|
+
|
140
|
+
function zero() public pure returns (ObjectType) {
|
141
|
+
return ObjectType.wrap(0);
|
142
|
+
}
|
143
|
+
|
144
|
+
/// @dev Converts the uint256 into ObjectType.
|
145
|
+
function toObjectType(uint256 objectType) public pure returns (ObjectType) {
|
146
|
+
return ObjectType.wrap(uint8(objectType));
|
147
|
+
}
|
148
|
+
|
150
149
|
/// @dev Converts the NftId to a uint256.
|
151
150
|
function toInt(ObjectType objectType) public pure returns (uint96) {
|
152
151
|
return uint96(ObjectType.unwrap(objectType));
|
@@ -164,6 +163,102 @@ library ObjectTypeLib {
|
|
164
163
|
|
165
164
|
/// @dev Returns true if the values are equal (==).
|
166
165
|
function eq(ObjectType a, ObjectType b) public pure returns (bool isSame) {
|
167
|
-
return
|
166
|
+
return ObjectType.unwrap(a) == ObjectType.unwrap(b);
|
167
|
+
}
|
168
|
+
|
169
|
+
/// @dev Returns true if the values are not equal (!=).
|
170
|
+
function ne(ObjectType a, ObjectType b) public pure returns (bool isSame) {
|
171
|
+
return ObjectType.unwrap(a) != ObjectType.unwrap(b);
|
172
|
+
}
|
173
|
+
|
174
|
+
/// @dev Returns the type/domain name for the provided object type
|
175
|
+
function toName(ObjectType objectType) public pure returns (string memory name) {
|
176
|
+
if (objectType == REGISTRY()) {
|
177
|
+
return "Registry";
|
178
|
+
} else if (objectType == STAKING()) {
|
179
|
+
return "Staking";
|
180
|
+
} else if (objectType == INSTANCE()) {
|
181
|
+
return "Instance";
|
182
|
+
} else if (objectType == COMPONENT()) {
|
183
|
+
return "Component";
|
184
|
+
} else if (objectType == PRODUCT()) {
|
185
|
+
return "Product";
|
186
|
+
} else if (objectType == ORACLE()) {
|
187
|
+
return "Oracle";
|
188
|
+
} else if (objectType == DISTRIBUTION()) {
|
189
|
+
return "Distribution";
|
190
|
+
} else if (objectType == POOL()) {
|
191
|
+
return "Pool";
|
192
|
+
} else if (objectType == APPLICATION()) {
|
193
|
+
return "Application";
|
194
|
+
} else if (objectType == POLICY()) {
|
195
|
+
return "Policy";
|
196
|
+
} else if (objectType == CLAIM()) {
|
197
|
+
return "Claim";
|
198
|
+
} else if (objectType == PRICE()) {
|
199
|
+
return "Price";
|
200
|
+
} else if (objectType == BUNDLE()) {
|
201
|
+
return "Bundle";
|
202
|
+
}
|
203
|
+
|
204
|
+
// fallback: ObjectType<obect-type-int>
|
205
|
+
return string(
|
206
|
+
abi.encodePacked(
|
207
|
+
"ObjectType",
|
208
|
+
toString(
|
209
|
+
toInt(objectType))));
|
210
|
+
}
|
211
|
+
|
212
|
+
function toVersionedName(
|
213
|
+
string memory name,
|
214
|
+
string memory suffix,
|
215
|
+
uint256 version
|
216
|
+
)
|
217
|
+
external
|
218
|
+
pure
|
219
|
+
returns (string memory versionedName)
|
220
|
+
{
|
221
|
+
string memory versionName = "_v0";
|
222
|
+
|
223
|
+
if (version >= 10) {
|
224
|
+
versionName = "_v";
|
225
|
+
}
|
226
|
+
|
227
|
+
versionedName = string(
|
228
|
+
abi.encodePacked(
|
229
|
+
name,
|
230
|
+
suffix,
|
231
|
+
versionName,
|
232
|
+
toString(version)));
|
233
|
+
}
|
234
|
+
|
235
|
+
/// @dev returns the provied int as a string
|
236
|
+
function toString(uint256 value) public pure returns (string memory name) {
|
237
|
+
|
238
|
+
if (value == 0) {
|
239
|
+
return "0";
|
240
|
+
}
|
241
|
+
|
242
|
+
uint256 temp = value;
|
243
|
+
uint256 digits = 0;
|
244
|
+
while (temp != 0) {
|
245
|
+
digits++;
|
246
|
+
temp /= 10;
|
247
|
+
}
|
248
|
+
|
249
|
+
bytes memory buffer = new bytes(digits);
|
250
|
+
uint index = digits - 1;
|
251
|
+
|
252
|
+
temp = value;
|
253
|
+
while (temp != 0) {
|
254
|
+
buffer[index] = bytes1(uint8(48 + temp % 10));
|
255
|
+
temp /= 10;
|
256
|
+
|
257
|
+
if (index > 0) {
|
258
|
+
index--;
|
259
|
+
}
|
260
|
+
}
|
261
|
+
|
262
|
+
return string(buffer);
|
168
263
|
}
|
169
264
|
}
|
@@ -0,0 +1,75 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {Key32, KeyId, Key32Lib} from "./Key32.sol";
|
5
|
+
import {REQUEST} from "./ObjectType.sol";
|
6
|
+
|
7
|
+
type RequestId is uint64;
|
8
|
+
|
9
|
+
// type bindings
|
10
|
+
using {
|
11
|
+
eqRequestId as ==,
|
12
|
+
neRequestId as !=,
|
13
|
+
RequestIdLib.eqz,
|
14
|
+
RequestIdLib.gtz,
|
15
|
+
RequestIdLib.toInt,
|
16
|
+
RequestIdLib.toKey32
|
17
|
+
} for RequestId global;
|
18
|
+
|
19
|
+
// general pure free functions
|
20
|
+
|
21
|
+
function eqRequestId(RequestId a, RequestId b) pure returns (bool isSame) {
|
22
|
+
return RequestIdLib.eq(a, b);
|
23
|
+
}
|
24
|
+
|
25
|
+
function neRequestId(RequestId a, RequestId b) pure returns (bool isSame) {
|
26
|
+
return RequestIdLib.ne(a, b);
|
27
|
+
}
|
28
|
+
|
29
|
+
library RequestIdLib {
|
30
|
+
|
31
|
+
// @dev zero element to refer to a non existing/initialized request
|
32
|
+
function zero() public pure returns (RequestId) {
|
33
|
+
return RequestId.wrap(0);
|
34
|
+
}
|
35
|
+
|
36
|
+
// @dev Converts an int id into a request id.
|
37
|
+
function toRequestId(uint256 id) public pure returns (RequestId) {
|
38
|
+
return RequestId.wrap(uint64(id));
|
39
|
+
}
|
40
|
+
|
41
|
+
// @dev Converts a request id back to an int value.
|
42
|
+
function toInt(RequestId requestId) public pure returns (uint256) {
|
43
|
+
return RequestId.unwrap(requestId);
|
44
|
+
}
|
45
|
+
|
46
|
+
// @dev Returns true iff request id a == 0
|
47
|
+
function eqz(RequestId a) public pure returns (bool) {
|
48
|
+
return RequestId.unwrap(a) == 0;
|
49
|
+
}
|
50
|
+
|
51
|
+
// @dev Returns true iff request id a > 0
|
52
|
+
function gtz(RequestId a) public pure returns (bool) {
|
53
|
+
return RequestId.unwrap(a) > 0;
|
54
|
+
}
|
55
|
+
|
56
|
+
// @dev Returns true iff risk ids a and b are identical
|
57
|
+
function eq(RequestId a, RequestId b) public pure returns (bool isSame) {
|
58
|
+
return RequestId.unwrap(a) == RequestId.unwrap(b);
|
59
|
+
}
|
60
|
+
|
61
|
+
// @dev Returns true iff risk ids a and b are different
|
62
|
+
function ne(RequestId a, RequestId b) public pure returns (bool isSame) {
|
63
|
+
return RequestId.unwrap(a) != RequestId.unwrap(b);
|
64
|
+
}
|
65
|
+
|
66
|
+
/// @dev Returns the key32 value for the specified nft id and object type.
|
67
|
+
function toKey32(RequestId id) public pure returns (Key32 key) {
|
68
|
+
return Key32Lib.toKey32(REQUEST(), toKeyId(id));
|
69
|
+
}
|
70
|
+
|
71
|
+
/// @dev Returns the key id value for the specified nft id
|
72
|
+
function toKeyId(RequestId id) public pure returns (KeyId keyId) {
|
73
|
+
return KeyId.wrap(bytes31(uint248(RequestId.unwrap(id))));
|
74
|
+
}
|
75
|
+
}
|