@etherisc/gif-next 0.0.2-ceb30b2-601 → 0.0.2-ceed5e3-261
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 +9 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +239 -155
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1378 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +826 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +118 -99
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +52 -307
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +36 -105
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +250 -2313
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +181 -12
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +361 -2789
- 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 +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +228 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +643 -350
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +266 -145
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +122 -88
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3598 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -54
- 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 +4 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +187 -0
- 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 +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → oracle/IOracle.sol/IOracle.json} +2 -2
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/IProductComponent.sol/IProductComponent.json → oracle/IOracleComponent.sol/IOracleComponent.json} +158 -216
- 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/{components/Product.sol/Product.json → oracle/Oracle.sol/Oracle.json} +256 -264
- 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 +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1134 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +754 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +56 -54
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +200 -97
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +157 -156
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +305 -103
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1453 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +742 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +863 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +730 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1315 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +822 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +512 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IClaimService.sol/IClaimService.json +43 -2
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +140 -71
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +66 -136
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +995 -0
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +14 -56
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1183 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +766 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +1012 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +786 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/product/Product.sol/Product.json +1397 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +708 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +702 -0
- 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 +179 -29
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +317 -52
- 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 +420 -43
- 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 +374 -72
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -41
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +762 -103
- 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 +316 -140
- 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 +4 -0
- package/artifacts/contracts/{components → shared}/Component.sol/Component.json +143 -76
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1511 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +796 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +22 -114
- 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 +4 -0
- package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +114 -75
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +880 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +705 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +50 -11
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.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/IPolicyHolder.sol/IPolicyHolder.json +45 -3
- 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 +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1036 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +571 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +15 -9
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +56 -7
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +70 -22
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +23 -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 +60 -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 +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1438 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1035 -0
- 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 +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +2005 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +761 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +597 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1343 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +718 -0
- 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 +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +571 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +345 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/ClaimId.sol/ClaimIdLib.json +5 -5
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +209 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +186 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/PayoutId.sol/PayoutIdLib.json +5 -5
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
- 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 +4 -0
- package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +266 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +198 -0
- 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 +4 -0
- package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
- 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 +4 -0
- package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +20 -7
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
- package/contracts/{components → distribution}/Distribution.sol +41 -64
- package/contracts/distribution/DistributionService.sol +297 -0
- package/contracts/distribution/DistributionServiceManager.sol +42 -0
- package/contracts/{components → distribution}/IDistributionComponent.sol +11 -16
- package/contracts/{instance/service → distribution}/IDistributionService.sol +19 -37
- package/contracts/instance/BundleManager.sol +5 -5
- package/contracts/instance/IInstance.sol +51 -68
- package/contracts/instance/IInstanceService.sol +50 -16
- package/contracts/instance/Instance.sol +134 -189
- package/contracts/instance/InstanceAdmin.sol +331 -0
- package/contracts/instance/InstanceAuthorizationsLib.sol +377 -0
- package/contracts/instance/InstanceReader.sol +130 -55
- package/contracts/instance/InstanceService.sol +237 -282
- package/contracts/instance/InstanceServiceManager.sol +11 -21
- package/contracts/instance/InstanceStore.sol +269 -0
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/base/Cloneable.sol +28 -0
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +7 -9
- package/contracts/instance/module/IAccess.sol +4 -12
- package/contracts/instance/module/IBundle.sol +6 -9
- package/contracts/instance/module/IComponents.sol +21 -10
- package/contracts/instance/module/IDistribution.sol +7 -6
- package/contracts/instance/module/IPolicy.sol +20 -14
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/{test/TestToken.sol → mock/Dip.sol} +5 -5
- 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 +296 -0
- package/contracts/pool/BundleServiceManager.sol +42 -0
- package/contracts/{instance/service → pool}/IBundleService.sol +33 -29
- package/contracts/{components → pool}/IPoolComponent.sol +16 -17
- package/contracts/{instance/service → pool}/IPoolService.sol +57 -51
- package/contracts/{components → pool}/Pool.sol +52 -55
- package/contracts/pool/PoolService.sol +452 -0
- package/contracts/pool/PoolServiceManager.sol +42 -0
- package/contracts/product/ApplicationService.sol +254 -0
- package/contracts/{instance/service → product}/ApplicationServiceManager.sol +11 -8
- package/contracts/{instance/service → product}/ClaimService.sol +170 -89
- package/contracts/{instance/service → product}/ClaimServiceManager.sol +11 -8
- package/contracts/{instance/service → product}/IApplicationService.sol +13 -29
- package/contracts/{instance/service → product}/IClaimService.sol +24 -15
- package/contracts/{instance/service → product}/IPolicyService.sol +24 -26
- package/contracts/product/IPricingService.sol +39 -0
- package/contracts/product/IProductComponent.sol +42 -0
- package/contracts/product/IProductService.sol +33 -0
- package/contracts/product/PolicyService.sol +475 -0
- package/contracts/product/PolicyServiceManager.sol +42 -0
- package/contracts/product/PricingService.sol +300 -0
- package/contracts/product/PricingServiceManager.sol +42 -0
- package/contracts/{components → product}/Product.sol +83 -77
- package/contracts/product/ProductService.sol +124 -0
- package/contracts/product/ProductServiceManager.sol +42 -0
- package/contracts/registry/ChainNft.sol +8 -1
- package/contracts/registry/IRegistry.sol +44 -21
- package/contracts/registry/IRegistryService.sol +37 -34
- package/contracts/registry/IServiceAuthorization.sol +35 -0
- package/contracts/registry/Registry.sol +198 -83
- package/contracts/registry/RegistryAdmin.sol +333 -0
- package/contracts/registry/RegistryService.sol +71 -87
- package/contracts/registry/RegistryServiceManager.sol +21 -30
- package/contracts/registry/ReleaseManager.sol +400 -197
- package/contracts/registry/ServiceAuthorization.sol +86 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +200 -0
- package/contracts/registry/TokenRegistry.sol +261 -62
- 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 +281 -0
- package/contracts/shared/ComponentService.sol +617 -0
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +117 -0
- 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/{components → shared}/IComponent.sol +23 -29
- package/contracts/shared/IComponentService.sol +102 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +15 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
- package/contracts/shared/INftOwnable.sol +2 -2
- package/contracts/shared/IPolicyHolder.sol +14 -7
- package/contracts/shared/IService.sol +9 -2
- package/contracts/shared/IVersionable.sol +1 -1
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/InstanceLinkedComponent.sol +144 -0
- package/contracts/shared/KeyValueStore.sol +127 -0
- package/contracts/{instance/base → shared}/Lifecycle.sol +18 -5
- package/contracts/shared/NftIdSetManager.sol +65 -0
- package/contracts/shared/NftOwnable.sol +3 -14
- package/contracts/shared/PolicyHolder.sol +32 -17
- package/contracts/shared/ProxyManager.sol +34 -4
- package/contracts/shared/Registerable.sol +3 -3
- package/contracts/shared/Service.sol +32 -21
- package/contracts/shared/TokenHandler.sol +27 -2
- package/contracts/shared/Versionable.sol +1 -1
- package/contracts/staking/IStaking.sol +168 -0
- package/contracts/staking/IStakingService.sol +153 -0
- package/contracts/staking/StakeManagerLib.sol +231 -0
- package/contracts/staking/Staking.sol +513 -0
- package/contracts/staking/StakingManager.sol +54 -0
- package/contracts/staking/StakingReader.sol +187 -0
- package/contracts/staking/StakingService.sol +411 -0
- package/contracts/staking/StakingServiceManager.sol +44 -0
- package/contracts/staking/StakingStore.sol +613 -0
- package/contracts/staking/TargetManagerLib.sol +207 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/{types → type}/Amount.sol +59 -1
- package/contracts/{types → type}/Blocknumber.sol +20 -3
- package/contracts/{types → type}/Fee.sol +24 -22
- package/contracts/{types → type}/NftId.sol +14 -16
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +241 -0
- package/contracts/{types → type}/Referral.sol +1 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/{types → type}/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +201 -0
- package/contracts/{types → type}/Seconds.sol +27 -0
- package/contracts/type/Selector.sol +102 -0
- package/contracts/{types → type}/StateId.sol +27 -2
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +6 -2
- package/contracts/{types → type}/Version.sol +1 -1
- package/package.json +4 -3
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1330
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -532
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1092
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -672
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1313
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -712
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -1316
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -724
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1798
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -780
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1153
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -676
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1598
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -696
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -864
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -640
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -370
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -588
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -209
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -166
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -142
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +0 -124
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/contracts/components/Component.sol +0 -253
- package/contracts/components/IProductComponent.sol +0 -40
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -13
- package/contracts/instance/Cloneable.sol +0 -51
- package/contracts/instance/InstanceAccessManager.sol +0 -527
- package/contracts/instance/base/ComponentService.sol +0 -130
- package/contracts/instance/base/KeyValueStore.sol +0 -149
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/ApplicationService.sol +0 -356
- package/contracts/instance/service/BundleService.sol +0 -443
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/DistributionService.sol +0 -431
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -358
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -349
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -210
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -216
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/test/Usdc.sol +0 -26
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -157
- package/contracts/types/RoleId.sol +0 -97
- /package/contracts/{types → type}/ClaimId.sol +0 -0
- /package/contracts/{types → type}/DistributorType.sol +0 -0
- /package/contracts/{types → type}/Key32.sol +0 -0
- /package/contracts/{types → type}/PayoutId.sol +0 -0
- /package/contracts/{types → type}/UFixed.sol +0 -0
@@ -1,22 +1,29 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
import {ObjectType} from "../types/ObjectType.sol";
|
6
|
-
import {RoleId} from "../types/RoleId.sol";
|
7
|
-
import {IService} from "../shared/IService.sol";
|
8
|
-
|
9
|
-
import {AccessManagerUpgradeableInitializeable} from "./AccessManagerUpgradeableInitializeable.sol";
|
10
|
-
import {InstanceAccessManager} from "./InstanceAccessManager.sol";
|
11
|
-
import {Instance} from "./Instance.sol";
|
12
|
-
import {InstanceReader} from "./InstanceReader.sol";
|
4
|
+
import {Amount} from "../type/Amount.sol";
|
13
5
|
import {BundleManager} from "./BundleManager.sol";
|
6
|
+
import {Instance} from "./Instance.sol";
|
7
|
+
import {IService} from "../shared/IService.sol";
|
8
|
+
import {NftId} from "../type/NftId.sol";
|
9
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
10
|
+
import {RoleId} from "../type/RoleId.sol";
|
11
|
+
import {Seconds} from "../type/Seconds.sol";
|
12
|
+
import {UFixed} from "../type/UFixed.sol";
|
13
|
+
import {VersionPart} from "../type/Version.sol";
|
14
14
|
|
15
15
|
interface IInstanceService is IService {
|
16
16
|
|
17
|
+
// onlyInstance
|
18
|
+
error ErrorInstanceServiceNotRegistered(address instance);
|
19
|
+
error ErrorInstanceServiceNotInstance(address instance, ObjectType objectType);
|
20
|
+
error ErrorInstanceServiceInstanceVersionMismatch(address instance, VersionPart instanceVersion);
|
21
|
+
|
22
|
+
error ErrorInstanceServiceComponentNotInstanceLinked(address component);
|
23
|
+
|
17
24
|
error ErrorInstanceServiceMasterInstanceAlreadySet();
|
18
|
-
error ErrorInstanceServiceMasterOzAccessManagerAlreadySet();
|
19
25
|
error ErrorInstanceServiceMasterInstanceAccessManagerAlreadySet();
|
26
|
+
error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
|
20
27
|
error ErrorInstanceServiceMasterBundleManagerAlreadySet();
|
21
28
|
error ErrorInstanceServiceInstanceAddressZero();
|
22
29
|
|
@@ -25,31 +32,59 @@ interface IInstanceService is IService {
|
|
25
32
|
error ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader();
|
26
33
|
error ErrorInstanceServiceInstanceReaderInstanceMismatch();
|
27
34
|
|
28
|
-
error
|
35
|
+
error ErrorInstanceServiceInstanceAdminZero();
|
29
36
|
error ErrorInstanceServiceInstanceReaderZero();
|
30
37
|
error ErrorInstanceServiceBundleManagerZero();
|
38
|
+
error ErrorInstanceServiceInstanceStoreZero();
|
31
39
|
|
32
40
|
error ErrorInstanceServiceInstanceAuthorityMismatch();
|
33
41
|
error ErrorInstanceServiceBundleManagerAuthorityMismatch();
|
34
42
|
error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
|
35
43
|
error ErrorInstanceServiceBundleMangerInstanceMismatch();
|
44
|
+
error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
|
36
45
|
|
37
46
|
error ErrorInstanceServiceRequestUnauhorized(address caller);
|
38
|
-
error
|
39
|
-
error ErrorInstanceServiceNotInstance(NftId nftId);
|
47
|
+
error ErrorInstanceServiceNotInstanceNftId(NftId nftId);
|
40
48
|
error ErrorInstanceServiceComponentNotRegistered(address componentAddress);
|
41
49
|
error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
|
42
50
|
error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
|
43
51
|
|
44
|
-
event LogInstanceCloned(
|
52
|
+
event LogInstanceCloned(
|
53
|
+
address clonedOzAccessManager,
|
54
|
+
address clonedInstanceAccessManager,
|
55
|
+
address clonedInstance,
|
56
|
+
address clonedInstanceStore,
|
57
|
+
address clonedBundleManager,
|
58
|
+
address clonedInstanceReader,
|
59
|
+
NftId clonedInstanceNftId
|
60
|
+
);
|
45
61
|
|
46
62
|
function createInstanceClone()
|
47
63
|
external
|
48
64
|
returns (
|
65
|
+
// TODO check if Instance can be changed to IInstance
|
49
66
|
Instance clonedInstance,
|
50
67
|
NftId instanceNftId
|
51
68
|
);
|
52
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
|
+
|
80
|
+
function createComponentTarget(
|
81
|
+
NftId instanceNftId,
|
82
|
+
address targetAddress,
|
83
|
+
string memory targetName,
|
84
|
+
bytes4[][] memory selectors,
|
85
|
+
RoleId[] memory roles
|
86
|
+
) external;
|
87
|
+
|
53
88
|
function createGifTarget(
|
54
89
|
NftId instanceNftId,
|
55
90
|
address targetAddress,
|
@@ -59,5 +94,4 @@ interface IInstanceService is IService {
|
|
59
94
|
) external;
|
60
95
|
|
61
96
|
function setComponentLocked(bool locked) external;
|
62
|
-
}
|
63
|
-
|
97
|
+
}
|
@@ -3,58 +3,61 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
5
5
|
|
6
|
-
import {
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {
|
10
|
-
import {
|
11
|
-
import {
|
12
|
-
import {
|
13
|
-
import {
|
14
|
-
import {
|
15
|
-
import {
|
16
|
-
import {
|
6
|
+
import {Amount} from "../type/Amount.sol";
|
7
|
+
import {Key32} from "../type/Key32.sol";
|
8
|
+
import {NftId} from "../type/NftId.sol";
|
9
|
+
import {RiskId} from "../type/RiskId.sol";
|
10
|
+
import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../type/ObjectType.sol";
|
11
|
+
import {RoleId, RoleIdLib, eqRoleId, ADMIN_ROLE, INSTANCE_ROLE, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
|
12
|
+
import {ClaimId} from "../type/ClaimId.sol";
|
13
|
+
import {ReferralId} from "../type/Referral.sol";
|
14
|
+
import {PayoutId} from "../type/PayoutId.sol";
|
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";
|
17
19
|
|
18
20
|
import {Registerable} from "../shared/Registerable.sol";
|
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";
|
31
|
+
import {InstanceStore} from "./InstanceStore.sol";
|
26
32
|
|
27
|
-
import {KeyValueStore} from "
|
33
|
+
import {KeyValueStore} from "../shared/KeyValueStore.sol";
|
28
34
|
|
29
35
|
import {IBundle} from "./module/IBundle.sol";
|
30
36
|
import {IComponents} from "./module/IComponents.sol";
|
31
37
|
import {IDistribution} from "./module/IDistribution.sol";
|
32
38
|
import {IPolicy} from "./module/IPolicy.sol";
|
33
39
|
import {IRisk} from "./module/IRisk.sol";
|
34
|
-
import {ISetup} from "./module/ISetup.sol";
|
35
40
|
|
36
|
-
import {
|
41
|
+
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
42
|
+
import {IPoolService} from "../pool/IPoolService.sol";
|
43
|
+
import {IProductService} from "../product/IProductService.sol";
|
44
|
+
import {IPolicyService} from "../product/IPolicyService.sol";
|
45
|
+
import {IBundleService} from "../pool/IBundleService.sol";
|
37
46
|
|
38
47
|
contract Instance is
|
39
48
|
IInstance,
|
40
49
|
AccessManagedUpgradeable,
|
41
|
-
Registerable
|
42
|
-
KeyValueStore
|
50
|
+
Registerable
|
43
51
|
{
|
44
|
-
|
45
52
|
uint256 public constant GIF_MAJOR_VERSION = 3;
|
46
53
|
|
47
|
-
uint64 public constant ADMIN_ROLE = type(uint64).min;
|
48
|
-
uint64 public constant PUBLIC_ROLE = type(uint64).max;
|
49
|
-
uint64 public constant CUSTOM_ROLE_ID_MIN = 10000;
|
50
|
-
|
51
|
-
uint32 public constant EXECUTION_DELAY = 0;
|
52
|
-
|
53
54
|
bool private _initialized;
|
54
55
|
|
55
|
-
|
56
|
+
IInstanceService internal _instanceService;
|
57
|
+
InstanceAdmin internal _instanceAdmin;
|
56
58
|
InstanceReader internal _instanceReader;
|
57
59
|
BundleManager internal _bundleManager;
|
60
|
+
InstanceStore internal _instanceStore;
|
58
61
|
|
59
62
|
modifier onlyChainNft() {
|
60
63
|
if(msg.sender != getRegistry().getChainNftAddress()) {
|
@@ -64,216 +67,151 @@ contract Instance is
|
|
64
67
|
}
|
65
68
|
|
66
69
|
function initialize(address authority, address registryAddress, address initialOwner)
|
67
|
-
|
70
|
+
external
|
68
71
|
initializer()
|
69
72
|
{
|
70
73
|
if(authority == address(0)) {
|
71
|
-
revert
|
74
|
+
revert ErrorInstanceInstanceAdminZero();
|
72
75
|
}
|
73
76
|
|
74
77
|
__AccessManaged_init(authority);
|
75
78
|
|
76
79
|
IRegistry registry = IRegistry(registryAddress);
|
77
80
|
initializeRegisterable(registryAddress, registry.getNftId(), INSTANCE(), true, initialOwner, "");
|
78
|
-
initializeLifecycle();
|
79
|
-
|
80
|
-
registerInterface(type(IInstance).interfaceId);
|
81
|
-
}
|
82
|
-
|
83
|
-
//--- ProductSetup ------------------------------------------------------//
|
84
|
-
function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external restricted() {
|
85
|
-
create(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup));
|
86
|
-
}
|
87
|
-
|
88
|
-
function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external restricted() {
|
89
|
-
update(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup), newState);
|
90
|
-
}
|
91
|
-
|
92
|
-
function updateProductSetupState(NftId productNftId, StateId newState) external restricted() {
|
93
|
-
updateState(_toNftKey32(productNftId, PRODUCT()), newState);
|
94
|
-
}
|
95
|
-
|
96
|
-
//--- DistributionSetup ------------------------------------------------------//
|
97
|
-
function createDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup) external restricted() {
|
98
|
-
create(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup));
|
99
|
-
}
|
100
|
-
|
101
|
-
function updateDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup, StateId newState) external restricted() {
|
102
|
-
update(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup), newState);
|
103
|
-
}
|
104
|
-
|
105
|
-
function updateDistributionSetupState(NftId distributionNftId, StateId newState) external restricted() {
|
106
|
-
updateState(_toNftKey32(distributionNftId, DISTRIBUTION()), newState);
|
107
|
-
}
|
108
|
-
|
109
|
-
//--- PoolSetup ------------------------------------------------------//
|
110
|
-
function createPoolSetup(NftId poolNftId, IComponents.ComponentInfo memory info) external restricted() {
|
111
|
-
create(_toNftKey32(poolNftId, POOL()), abi.encode(info));
|
112
|
-
}
|
113
|
-
|
114
|
-
function updatePoolSetup(NftId poolNftId, IComponents.ComponentInfo memory info, StateId newState) external restricted() {
|
115
|
-
update(_toNftKey32(poolNftId, POOL()), abi.encode(info), newState);
|
116
|
-
}
|
117
|
-
|
118
|
-
function updatePoolSetupState(NftId poolNftId, StateId newState) external restricted() {
|
119
|
-
updateState(_toNftKey32(poolNftId, POOL()), newState);
|
120
|
-
}
|
121
|
-
|
122
|
-
//--- DistributorType -------------------------------------------------------//
|
123
|
-
function createDistributorType(DistributorType distributorType, IDistribution.DistributorTypeInfo memory info) external restricted() {
|
124
|
-
create(distributorType.toKey32(), abi.encode(info));
|
125
|
-
}
|
126
|
-
|
127
|
-
function updateDistributorType(DistributorType distributorType, IDistribution.DistributorTypeInfo memory info, StateId newState) external restricted() {
|
128
|
-
update(distributorType.toKey32(), abi.encode(info), newState);
|
129
|
-
}
|
130
|
-
|
131
|
-
function updateDistributorTypeState(DistributorType distributorType, StateId newState) external restricted() {
|
132
|
-
updateState(distributorType.toKey32(), newState);
|
133
|
-
}
|
134
|
-
|
135
|
-
//--- Distributor -------------------------------------------------------//
|
136
|
-
function createDistributor(NftId distributorNftId, IDistribution.DistributorInfo memory info) external restricted() {
|
137
|
-
create(_toNftKey32(distributorNftId, DISTRIBUTOR()), abi.encode(info));
|
138
|
-
}
|
139
|
-
|
140
|
-
function updateDistributor(NftId distributorNftId, IDistribution.DistributorInfo memory info, StateId newState) external restricted() {
|
141
|
-
update(_toNftKey32(distributorNftId, DISTRIBUTOR()), abi.encode(info), newState);
|
142
|
-
}
|
143
|
-
|
144
|
-
function updateDistributorState(NftId distributorNftId, StateId newState) external restricted() {
|
145
|
-
updateState(_toNftKey32(distributorNftId, DISTRIBUTOR()), newState);
|
146
|
-
}
|
147
|
-
|
148
|
-
//--- Referral ----------------------------------------------------------//
|
149
|
-
function createReferral(ReferralId referralId, IDistribution.ReferralInfo memory referralInfo) external restricted() {
|
150
|
-
create(referralId.toKey32(), abi.encode(referralInfo));
|
151
|
-
}
|
152
|
-
|
153
|
-
function updateReferral(ReferralId referralId, IDistribution.ReferralInfo memory referralInfo, StateId newState) external restricted() {
|
154
|
-
update(referralId.toKey32(), abi.encode(referralInfo), newState);
|
155
|
-
}
|
156
|
-
|
157
|
-
function updateReferralState(ReferralId referralId, StateId newState) external restricted() {
|
158
|
-
updateState(referralId.toKey32(), newState);
|
159
|
-
}
|
160
|
-
|
161
|
-
//--- Bundle ------------------------------------------------------------//
|
162
|
-
function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external restricted() {
|
163
|
-
create(_toNftKey32(bundleNftId, BUNDLE()), abi.encode(bundle));
|
164
|
-
}
|
165
81
|
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
function updateBundleState(NftId bundleNftId, StateId newState) external restricted() {
|
171
|
-
updateState(_toNftKey32(bundleNftId, BUNDLE()), newState);
|
172
|
-
}
|
82
|
+
_instanceService = IInstanceService(
|
83
|
+
getRegistry().getServiceAddress(
|
84
|
+
INSTANCE(),
|
85
|
+
getMajorVersion()));
|
173
86
|
|
174
|
-
|
175
|
-
function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external restricted() {
|
176
|
-
create(riskId.toKey32(), abi.encode(risk));
|
87
|
+
registerInterface(type(IInstance).interfaceId);
|
177
88
|
}
|
178
89
|
|
179
|
-
|
180
|
-
update(riskId.toKey32(), abi.encode(risk), newState);
|
181
|
-
}
|
90
|
+
//--- Staking ----------------------------------------------------------//
|
182
91
|
|
183
|
-
function
|
184
|
-
|
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);
|
185
98
|
}
|
186
99
|
|
187
|
-
|
188
|
-
|
189
|
-
|
100
|
+
function setStakingRewardRate(UFixed rewardRate)
|
101
|
+
external
|
102
|
+
onlyOwner()
|
103
|
+
{
|
104
|
+
_instanceService.setStakingRewardRate(rewardRate);
|
190
105
|
}
|
191
106
|
|
192
|
-
function
|
193
|
-
|
107
|
+
function refillStakingRewardReserves(Amount dipAmount)
|
108
|
+
external
|
109
|
+
onlyOwner()
|
110
|
+
{
|
111
|
+
address instanceOwner = msg.sender;
|
112
|
+
_instanceService.refillStakingRewardReserves(instanceOwner, dipAmount);
|
194
113
|
}
|
195
114
|
|
196
|
-
function
|
197
|
-
|
115
|
+
function withdrawStakingRewardReserves(Amount dipAmount)
|
116
|
+
external
|
117
|
+
onlyOwner()
|
118
|
+
returns (Amount newBalance)
|
119
|
+
{
|
120
|
+
return _instanceService.withdrawStakingRewardReserves(dipAmount);
|
198
121
|
}
|
199
122
|
|
200
|
-
//---
|
201
|
-
function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
|
202
|
-
update(_toNftKey32(policyNftId, POLICY()), abi.encode(policy), newState);
|
203
|
-
}
|
123
|
+
//--- Roles ------------------------------------------------------------//
|
204
124
|
|
205
|
-
function
|
206
|
-
|
125
|
+
function createRole(string memory roleName, string memory adminName)
|
126
|
+
external
|
127
|
+
// TODO decide if onlyOwner or restricted to instance owner role is better
|
128
|
+
restricted // INSTANCE_OWNER_ROLE
|
129
|
+
returns (RoleId roleId, RoleId admin)
|
130
|
+
{
|
131
|
+
(roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
|
207
132
|
}
|
208
133
|
|
209
|
-
function
|
210
|
-
|
134
|
+
function grantRole(RoleId roleId, address account)
|
135
|
+
external
|
136
|
+
// TODO decide if onlyOwner or restricted to instance owner role is better
|
137
|
+
restricted // INSTANCE_OWNER_ROLE
|
138
|
+
{
|
139
|
+
AccessManagerExtendedInitializeable(authority()).grantRole(roleId.toInt(), account, 0);
|
211
140
|
}
|
212
141
|
|
213
|
-
|
214
|
-
|
215
|
-
|
142
|
+
function revokeRole(RoleId roleId, address account)
|
143
|
+
external
|
144
|
+
// TODO decide if onlyOwner or restricted to instance owner role is better
|
145
|
+
restricted // INSTANCE_OWNER_ROLE
|
146
|
+
{
|
147
|
+
AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
|
216
148
|
}
|
217
149
|
|
218
|
-
|
219
|
-
update(_toClaimKey32(policyNftId, claimId), abi.encode(claim), newState);
|
220
|
-
}
|
150
|
+
//--- Targets ------------------------------------------------------------//
|
221
151
|
|
222
|
-
function
|
223
|
-
|
152
|
+
function createTarget(address target, string memory name)
|
153
|
+
external
|
154
|
+
// TODO decide if onlyOwner or restricted to instance owner role is better
|
155
|
+
restricted // INSTANCE_OWNER_ROLE
|
156
|
+
{
|
157
|
+
_instanceAdmin.createTarget(target, name);
|
224
158
|
}
|
225
159
|
|
226
|
-
|
227
|
-
|
228
|
-
|
160
|
+
function setTargetFunctionRole(
|
161
|
+
string memory targetName,
|
162
|
+
bytes4[] calldata selectors,
|
163
|
+
RoleId roleId
|
164
|
+
)
|
165
|
+
external
|
166
|
+
restricted // INSTANCE_OWNER_ROLE
|
167
|
+
{
|
168
|
+
_instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
|
229
169
|
}
|
230
170
|
|
231
|
-
function
|
232
|
-
|
171
|
+
function setTargetLocked(address target, bool locked)
|
172
|
+
external
|
173
|
+
restricted // INSTANCE_OWNER_ROLE
|
174
|
+
{
|
175
|
+
_instanceAdmin.setTargetLockedByInstance(target, locked);
|
233
176
|
}
|
234
177
|
|
235
|
-
|
236
|
-
updateState(_toPayoutKey32(policyNftId, payoutId), newState);
|
237
|
-
}
|
178
|
+
//--- ITransferInterceptor ----------------------------------------------//
|
238
179
|
|
239
|
-
|
180
|
+
// TODO interception of child components nfts
|
240
181
|
function nftMint(address to, uint256 tokenId) external onlyChainNft {
|
241
|
-
|
242
|
-
assert(_accessManager.grantRole(INSTANCE_OWNER_ROLE(), to) == true);
|
182
|
+
_instanceAdmin.transferInstanceOwnerRole(address(0), to);
|
243
183
|
}
|
244
184
|
|
245
185
|
function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
|
246
|
-
|
247
|
-
assert(_accessManager.grantRole(INSTANCE_OWNER_ROLE(), to) == true);
|
186
|
+
_instanceAdmin.transferInstanceOwnerRole(from, to);
|
248
187
|
}
|
249
188
|
|
189
|
+
//function nftBurn(address from, uint256 tokenId) external onlyChainNft {
|
190
|
+
//_instanceAdmin.transferInstanceOwnerRole(from, address(0));
|
191
|
+
//}
|
192
|
+
|
250
193
|
//--- initial setup functions -------------------------------------------//
|
251
194
|
|
252
|
-
function
|
253
|
-
if(address(
|
254
|
-
revert
|
195
|
+
function setInstanceAdmin(InstanceAdmin accessManager) external restricted {
|
196
|
+
if(address(_instanceAdmin) != address(0)) {
|
197
|
+
revert ErrorInstanceInstanceAdminAlreadySet(address(_instanceAdmin));
|
255
198
|
}
|
256
|
-
|
257
199
|
if(accessManager.authority() != authority()) {
|
258
|
-
revert
|
200
|
+
revert ErrorInstanceInstanceAdminAuthorityMismatch(authority());
|
259
201
|
}
|
260
|
-
|
261
|
-
_accessManager = accessManager;
|
202
|
+
_instanceAdmin = accessManager;
|
262
203
|
}
|
263
|
-
|
204
|
+
|
264
205
|
function setBundleManager(BundleManager bundleManager) external restricted() {
|
265
206
|
if(address(_bundleManager) != address(0)) {
|
266
207
|
revert ErrorInstanceBundleManagerAlreadySet(address(_bundleManager));
|
267
208
|
}
|
268
|
-
|
269
209
|
if(bundleManager.getInstance() != Instance(this)) {
|
270
210
|
revert ErrorInstanceBundleManagerInstanceMismatch(address(this));
|
271
211
|
}
|
272
|
-
|
273
212
|
if(bundleManager.authority() != authority()) {
|
274
213
|
revert ErrorInstanceBundleManagerAuthorityMismatch(authority());
|
275
214
|
}
|
276
|
-
|
277
215
|
_bundleManager = bundleManager;
|
278
216
|
}
|
279
217
|
|
@@ -285,6 +223,16 @@ contract Instance is
|
|
285
223
|
_instanceReader = instanceReader;
|
286
224
|
}
|
287
225
|
|
226
|
+
function setInstanceStore(InstanceStore instanceStore) external restricted {
|
227
|
+
if(address(_instanceStore) != address(0)) {
|
228
|
+
revert ErrorInstanceInstanceStoreAlreadySet(address(_instanceStore));
|
229
|
+
}
|
230
|
+
if(instanceStore.authority() != authority()) {
|
231
|
+
revert ErrorInstanceInstanceStoreAuthorityMismatch(authority());
|
232
|
+
}
|
233
|
+
_instanceStore = instanceStore;
|
234
|
+
}
|
235
|
+
|
288
236
|
//--- external view functions -------------------------------------------//
|
289
237
|
|
290
238
|
function getInstanceReader() external view returns (InstanceReader) {
|
@@ -295,24 +243,21 @@ contract Instance is
|
|
295
243
|
return _bundleManager;
|
296
244
|
}
|
297
245
|
|
298
|
-
function
|
299
|
-
return
|
246
|
+
function getInstanceAdmin() external view returns (InstanceAdmin) {
|
247
|
+
return _instanceAdmin;
|
300
248
|
}
|
301
249
|
|
302
|
-
function
|
303
|
-
return
|
250
|
+
function getInstanceAccessManager() external view returns (AccessManagerExtendedInitializeable) {
|
251
|
+
return AccessManagerExtendedInitializeable(authority());
|
304
252
|
}
|
305
253
|
|
306
|
-
|
307
|
-
|
308
|
-
return nftId.toKey32(objectType);
|
254
|
+
function getInstanceStore() external view returns (InstanceStore) {
|
255
|
+
return _instanceStore;
|
309
256
|
}
|
310
257
|
|
311
|
-
function
|
312
|
-
return
|
258
|
+
function getMajorVersion() public pure returns (VersionPart majorVersion) {
|
259
|
+
return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
|
313
260
|
}
|
314
261
|
|
315
|
-
|
316
|
-
|
317
|
-
}
|
318
|
-
}
|
262
|
+
//--- internal view/pure functions --------------------------------------//
|
263
|
+
}
|