@etherisc/gif-next 0.0.2-f2df3e2-873 → 0.0.2-f398177-971
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/components/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/components/Component.sol/Component.json +37 -6
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/components/Distribution.sol/Distribution.json +44 -13
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IComponent.sol/IComponent.json +37 -6
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +44 -13
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +55 -24
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +52 -21
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/components/Pool.sol/Pool.json +55 -24
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/components/Product.sol/Product.json +52 -21
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +2 -2
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +252 -2210
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +21 -38
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +346 -2685
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +67 -49
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +124 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +219 -53
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +59 -220
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +32 -117
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2788 -0
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +1 -1
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +2 -2
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.json +37 -13
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +2 -2
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +2 -2
- 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/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +75 -217
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +33 -66
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +155 -133
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +35 -64
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +463 -119
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +109 -42
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +181 -399
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +81 -94
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.json +11 -145
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +79 -30
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +229 -88
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +23 -273
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +40 -326
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +265 -32
- package/artifacts/contracts/instance/service/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IPricingService.sol/IPricingService.json +510 -0
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +5 -13
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +213 -443
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +74 -75
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +439 -54
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +84 -37
- package/artifacts/contracts/instance/service/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PricingService.sol/PricingService.json +1004 -0
- package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.json +688 -0
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +55 -31
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +22 -35
- 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 +5 -13
- 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 +2 -2
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +2 -2
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +17 -25
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +21 -34
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +2 -2
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +10 -23
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/{instance → shared}/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +3 -3
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +0 -13
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +69 -9
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +0 -13
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +5 -13
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +6 -19
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +80 -26
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +14 -27
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +6 -19
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +5 -13
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +24 -6
- 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/test/TestFee.sol/TestFee.dbg.json +1 -1
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +6 -19
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
- package/artifacts/contracts/test/TestService.sol/TestService.json +17 -25
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/types/Amount.sol/AmountLib.json +100 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +42 -18
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
- package/contracts/components/Component.sol +21 -2
- package/contracts/components/Distribution.sol +5 -4
- package/contracts/components/IComponent.sol +16 -2
- package/contracts/components/IPoolComponent.sol +7 -6
- package/contracts/components/IProductComponent.sol +5 -4
- package/contracts/components/Pool.sol +8 -8
- package/contracts/components/Product.sol +21 -17
- package/contracts/instance/IInstance.sol +28 -53
- package/contracts/instance/IInstanceService.sol +15 -10
- package/contracts/instance/Instance.sol +90 -171
- package/contracts/instance/InstanceAccessManager.sol +35 -21
- package/contracts/instance/InstanceAuthorizationsLib.sol +308 -0
- package/contracts/instance/InstanceReader.sol +56 -5
- package/contracts/instance/InstanceService.sol +96 -266
- package/contracts/instance/InstanceStore.sol +212 -0
- package/contracts/instance/ObjectManager.sol +1 -1
- package/contracts/instance/base/ComponentService.sol +47 -20
- package/contracts/instance/base/KeyValueStore.sol +0 -31
- package/contracts/instance/base/Lifecycle.sol +7 -4
- package/contracts/instance/module/IComponents.sol +3 -3
- package/contracts/instance/module/IDistribution.sol +3 -2
- package/contracts/instance/module/IPolicy.sol +5 -5
- package/contracts/instance/service/ApplicationService.sol +58 -227
- package/contracts/instance/service/BundleService.sol +65 -119
- package/contracts/instance/service/ClaimService.sol +232 -34
- package/contracts/instance/service/DistributionService.sol +51 -134
- package/contracts/instance/service/IApplicationService.sol +5 -21
- package/contracts/instance/service/IBundleService.sol +32 -10
- package/contracts/instance/service/IClaimService.sol +37 -39
- package/contracts/instance/service/IDistributionService.sol +10 -22
- package/contracts/instance/service/IPolicyService.sol +15 -72
- package/contracts/instance/service/IPoolService.sol +18 -3
- package/contracts/instance/service/IPricingService.sol +37 -0
- package/contracts/instance/service/PolicyService.sol +112 -277
- package/contracts/instance/service/PoolService.sol +121 -21
- package/contracts/instance/service/PricingService.sol +275 -0
- package/contracts/instance/service/PricingServiceManager.sol +51 -0
- package/contracts/instance/service/ProductService.sol +10 -10
- package/contracts/registry/IRegistryService.sol +0 -2
- package/contracts/registry/RegistryService.sol +14 -10
- package/contracts/shared/IPolicyHolder.sol +23 -9
- package/contracts/shared/IRegistryLinked.sol +0 -1
- package/contracts/shared/IService.sol +2 -0
- package/contracts/shared/NftOwnable.sol +0 -2
- package/contracts/shared/PolicyHolder.sol +30 -17
- package/contracts/shared/Registerable.sol +10 -9
- package/contracts/shared/RegistryLinked.sol +0 -5
- package/contracts/shared/TokenHandler.sol +4 -2
- package/contracts/types/Amount.sol +44 -0
- package/contracts/types/Fee.sol +7 -6
- package/contracts/types/ObjectType.sol +5 -1
- package/package.json +1 -1
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- /package/contracts/{instance → shared}/AccessManagerUpgradeableInitializeable.sol +0 -0
@@ -12,6 +12,7 @@ import {ReferralId} from "../types/Referral.sol";
|
|
12
12
|
import {RiskId} from "../types/RiskId.sol";
|
13
13
|
import {VersionPart} from "../types/Version.sol";
|
14
14
|
import {Key32} from "../types/Key32.sol";
|
15
|
+
import {RoleId} from "../types/RoleId.sol";
|
15
16
|
|
16
17
|
import {IRegisterable} from "../shared/IRegisterable.sol";
|
17
18
|
|
@@ -20,25 +21,28 @@ import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
|
|
20
21
|
import {InstanceAccessManager} from "./InstanceAccessManager.sol";
|
21
22
|
import {BundleManager} from "./BundleManager.sol";
|
22
23
|
import {InstanceReader} from "./InstanceReader.sol";
|
24
|
+
import {InstanceStore} from "./InstanceStore.sol";
|
23
25
|
|
24
|
-
import {IBundle} from "./module/IBundle.sol";
|
25
|
-
import {IBundleService} from "./service/IBundleService.sol";
|
26
|
-
import {IComponents} from "./module/IComponents.sol";
|
27
|
-
import {InstanceAccessManager} from "./InstanceAccessManager.sol";
|
28
26
|
import {IKeyValueStore} from "./base/IKeyValueStore.sol";
|
29
|
-
|
30
|
-
import {
|
31
|
-
|
32
|
-
import {
|
27
|
+
|
28
|
+
import {IAccess} from "./module/IAccess.sol";
|
29
|
+
|
30
|
+
import {IBundleService} from "./service/IBundleService.sol";
|
31
|
+
import {IDistributionService} from "./service/IDistributionService.sol";
|
32
|
+
import {IPolicyService} from "./service/IPolicyService.sol";
|
33
|
+
import {IPoolService} from "./service/IPoolService.sol";
|
34
|
+
import {IProductService} from "./service/IProductService.sol";
|
35
|
+
import {IPolicyService} from "./service/IPolicyService.sol";
|
36
|
+
import {IBundleService} from "./service/IBundleService.sol";
|
33
37
|
|
34
38
|
|
35
39
|
|
36
40
|
interface IInstance is
|
37
41
|
IRegisterable,
|
38
42
|
ITransferInterceptor,
|
39
|
-
IAccessManaged
|
40
|
-
IKeyValueStore
|
43
|
+
IAccessManaged
|
41
44
|
{
|
45
|
+
error ErrorInstanceInstanceAccessManagerZero();
|
42
46
|
error ErrorInstanceInstanceAccessManagerAlreadySet(address instanceAccessManager);
|
43
47
|
error ErrorInstanceInstanceAccessManagerAuthorityMismatch(address instanceAuthority);
|
44
48
|
|
@@ -48,55 +52,26 @@ interface IInstance is
|
|
48
52
|
|
49
53
|
error ErrorInstanceInstanceReaderInstanceMismatch(address instanceAuthority);
|
50
54
|
|
51
|
-
|
52
|
-
|
53
|
-
function updateDistributionSetupState(NftId distributionNftId, StateId newState) external;
|
54
|
-
|
55
|
-
function createPoolSetup(NftId poolNftId, IComponents.ComponentInfo memory info) external;
|
56
|
-
function updatePoolSetup(NftId poolNftId, IComponents.ComponentInfo memory info, StateId newState) external;
|
57
|
-
function updatePoolSetupState(NftId poolNftId, StateId newState) external;
|
58
|
-
|
59
|
-
function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external;
|
60
|
-
function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external;
|
61
|
-
function updateBundleState(NftId bundleNftId, StateId newState) external;
|
62
|
-
|
63
|
-
function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external;
|
64
|
-
function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external;
|
65
|
-
function updateProductSetupState(NftId productNftId, StateId newState) external;
|
66
|
-
|
67
|
-
function createDistributorType(DistributorType distributorType, IDistribution.DistributorTypeInfo memory info) external;
|
68
|
-
function updateDistributorType(DistributorType distributorType, IDistribution.DistributorTypeInfo memory info, StateId newState) external;
|
69
|
-
function updateDistributorTypeState(DistributorType distributorType, StateId newState) external;
|
70
|
-
|
71
|
-
function createDistributor(NftId nftId, IDistribution.DistributorInfo memory info) external;
|
72
|
-
function updateDistributor(NftId nftId, IDistribution.DistributorInfo memory info, StateId newState) external;
|
73
|
-
function updateDistributorState(NftId nftId, StateId newState) external;
|
74
|
-
|
75
|
-
function createReferral(ReferralId referralId, IDistribution.ReferralInfo memory referralInfo) external;
|
76
|
-
function updateReferral(ReferralId referralId, IDistribution.ReferralInfo memory referralInfo, StateId newState) external;
|
77
|
-
function updateReferralState(ReferralId referralId, StateId newState) external;
|
78
|
-
|
79
|
-
function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external;
|
80
|
-
function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external;
|
81
|
-
function updateRiskState(RiskId riskId, StateId newState) external;
|
82
|
-
|
83
|
-
function createApplication(NftId applicationNftId, IPolicy.PolicyInfo memory policy) external;
|
84
|
-
function updateApplication(NftId applicationNftId, IPolicy.PolicyInfo memory policy, StateId newState) external;
|
85
|
-
function updateApplicationState(NftId applicationNftId, StateId newState) external;
|
55
|
+
error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
|
56
|
+
error ErrorInstanceInstanceStoreAuthorityMismatch(address instanceAuthority);
|
86
57
|
|
87
|
-
function
|
88
|
-
function
|
58
|
+
function createRole(string memory roleName, string memory adminName) external returns (RoleId roleId, RoleId admin);
|
59
|
+
function grantRole(RoleId roleId, address account) external;
|
60
|
+
function revokeRole(RoleId roleId, address account) external;
|
89
61
|
|
90
|
-
function
|
91
|
-
function
|
92
|
-
function
|
62
|
+
function createTarget(address target, string memory name) external;
|
63
|
+
function setTargetFunctionRole(string memory targetName, bytes4[] calldata selectors, RoleId roleId) external;
|
64
|
+
function setTargetLocked(address target, bool locked) external;
|
93
65
|
|
94
|
-
function
|
95
|
-
function
|
96
|
-
function
|
66
|
+
function getDistributionService() external view returns (IDistributionService);
|
67
|
+
function getProductService() external view returns (IProductService);
|
68
|
+
function getPoolService() external view returns (IPoolService);
|
69
|
+
function getPolicyService() external view returns (IPolicyService);
|
70
|
+
function getBundleService() external view returns (IBundleService);
|
97
71
|
|
98
72
|
function getMajorVersion() external pure returns (VersionPart majorVersion);
|
99
73
|
function getInstanceReader() external view returns (InstanceReader);
|
100
74
|
function getBundleManager() external view returns (BundleManager);
|
101
75
|
function getInstanceAccessManager() external view returns (InstanceAccessManager);
|
76
|
+
function getInstanceStore() external view returns (InstanceStore);
|
102
77
|
}
|
@@ -6,11 +6,12 @@ import {ObjectType} from "../types/ObjectType.sol";
|
|
6
6
|
import {RoleId} from "../types/RoleId.sol";
|
7
7
|
import {IService} from "../shared/IService.sol";
|
8
8
|
|
9
|
-
import {AccessManagerUpgradeableInitializeable} from "
|
9
|
+
import {AccessManagerUpgradeableInitializeable} from "../shared/AccessManagerUpgradeableInitializeable.sol";
|
10
10
|
import {InstanceAccessManager} from "./InstanceAccessManager.sol";
|
11
11
|
import {Instance} from "./Instance.sol";
|
12
12
|
import {InstanceReader} from "./InstanceReader.sol";
|
13
13
|
import {BundleManager} from "./BundleManager.sol";
|
14
|
+
import {InstanceStore} from "./InstanceStore.sol";
|
14
15
|
|
15
16
|
interface IInstanceService is IService {
|
16
17
|
|
@@ -25,15 +26,16 @@ interface IInstanceService is IService {
|
|
25
26
|
error ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader();
|
26
27
|
error ErrorInstanceServiceInstanceReaderInstanceMismatch();
|
27
28
|
|
28
|
-
error ErrorInstanceServiceOzAccessManagerZero();
|
29
29
|
error ErrorInstanceServiceInstanceAccessManagerZero();
|
30
30
|
error ErrorInstanceServiceInstanceReaderZero();
|
31
31
|
error ErrorInstanceServiceBundleManagerZero();
|
32
|
+
error ErrorInstanceServiceInstanceStoreZero();
|
32
33
|
|
33
34
|
error ErrorInstanceServiceInstanceAuthorityMismatch();
|
34
35
|
error ErrorInstanceServiceBundleManagerAuthorityMismatch();
|
35
36
|
error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
|
36
37
|
error ErrorInstanceServiceBundleMangerInstanceMismatch();
|
38
|
+
error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
|
37
39
|
|
38
40
|
error ErrorInstanceServiceRequestUnauhorized(address caller);
|
39
41
|
error ErrorInstanceServiceNotInstanceOwner(address caller, NftId instanceNftId);
|
@@ -42,17 +44,21 @@ interface IInstanceService is IService {
|
|
42
44
|
error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
|
43
45
|
error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
|
44
46
|
|
45
|
-
event LogInstanceCloned(
|
47
|
+
event LogInstanceCloned(
|
48
|
+
address clonedOzAccessManager,
|
49
|
+
address clonedInstanceAccessManager,
|
50
|
+
address clonedInstance,
|
51
|
+
address clonedInstanceStore,
|
52
|
+
address clonedBundleManager,
|
53
|
+
address clonedInstanceReader,
|
54
|
+
NftId clonedInstanceNftId
|
55
|
+
);
|
46
56
|
|
47
57
|
function createInstanceClone()
|
48
58
|
external
|
49
59
|
returns (
|
50
|
-
AccessManagerUpgradeableInitializeable clonedOzAccessManager,
|
51
|
-
InstanceAccessManager clonedInstanceAccessManager,
|
52
60
|
Instance clonedInstance,
|
53
|
-
NftId instanceNftId
|
54
|
-
InstanceReader clonedInstanceReader,
|
55
|
-
BundleManager clonedBundleManager
|
61
|
+
NftId instanceNftId
|
56
62
|
);
|
57
63
|
|
58
64
|
function createGifTarget(
|
@@ -64,5 +70,4 @@ interface IInstanceService is IService {
|
|
64
70
|
) external;
|
65
71
|
|
66
72
|
function setComponentLocked(bool locked) external;
|
67
|
-
}
|
68
|
-
|
73
|
+
}
|
@@ -5,17 +5,17 @@ import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/acce
|
|
5
5
|
|
6
6
|
import {Key32} from "../types/Key32.sol";
|
7
7
|
import {NftId} from "../types/NftId.sol";
|
8
|
-
import {ClaimId} from "../types/ClaimId.sol";
|
9
|
-
import {DistributorType} from "../types/DistributorType.sol";
|
10
|
-
import {PayoutId} from "../types/PayoutId.sol";
|
11
|
-
import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, PRODUCT, DISTRIBUTOR} from "../types/ObjectType.sol";
|
12
|
-
import {ReferralId} from "../types/Referral.sol";
|
13
8
|
import {RiskId} from "../types/RiskId.sol";
|
14
|
-
import {
|
15
|
-
import {
|
9
|
+
import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../types/ObjectType.sol";
|
10
|
+
import {RoleId, RoleIdLib, eqRoleId, ADMIN_ROLE, INSTANCE_ROLE, INSTANCE_OWNER_ROLE} from "../types/RoleId.sol";
|
16
11
|
import {VersionPart, VersionPartLib} from "../types/Version.sol";
|
12
|
+
import {ClaimId} from "../types/ClaimId.sol";
|
13
|
+
import {ReferralId} from "../types/Referral.sol";
|
14
|
+
import {PayoutId} from "../types/PayoutId.sol";
|
15
|
+
import {DistributorType} from "../types/DistributorType.sol";
|
17
16
|
|
18
17
|
import {Registerable} from "../shared/Registerable.sol";
|
18
|
+
import {TokenHandler} from "../shared/TokenHandler.sol";
|
19
19
|
|
20
20
|
import {IRegistry} from "../registry/IRegistry.sol";
|
21
21
|
|
@@ -23,6 +23,7 @@ import {IInstance} from "./IInstance.sol";
|
|
23
23
|
import {InstanceReader} from "./InstanceReader.sol";
|
24
24
|
import {InstanceAccessManager} from "./InstanceAccessManager.sol";
|
25
25
|
import {BundleManager} from "./BundleManager.sol";
|
26
|
+
import {InstanceStore} from "./InstanceStore.sol";
|
26
27
|
|
27
28
|
import {KeyValueStore} from "./base/KeyValueStore.sol";
|
28
29
|
|
@@ -33,28 +34,25 @@ import {IPolicy} from "./module/IPolicy.sol";
|
|
33
34
|
import {IRisk} from "./module/IRisk.sol";
|
34
35
|
import {ISetup} from "./module/ISetup.sol";
|
35
36
|
|
36
|
-
import {
|
37
|
+
import {IDistributionService} from "./service/IDistributionService.sol";
|
38
|
+
import {IPoolService} from "./service/IPoolService.sol";
|
39
|
+
import {IProductService} from "./service/IProductService.sol";
|
40
|
+
import {IPolicyService} from "./service/IPolicyService.sol";
|
41
|
+
import {IBundleService} from "./service/IBundleService.sol";
|
37
42
|
|
38
43
|
contract Instance is
|
39
44
|
IInstance,
|
40
45
|
AccessManagedUpgradeable,
|
41
|
-
Registerable
|
42
|
-
KeyValueStore
|
46
|
+
Registerable
|
43
47
|
{
|
44
|
-
|
45
48
|
uint256 public constant GIF_MAJOR_VERSION = 3;
|
46
49
|
|
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
50
|
bool private _initialized;
|
54
51
|
|
55
52
|
InstanceAccessManager internal _accessManager;
|
56
53
|
InstanceReader internal _instanceReader;
|
57
54
|
BundleManager internal _bundleManager;
|
55
|
+
InstanceStore internal _instanceStore;
|
58
56
|
|
59
57
|
modifier onlyChainNft() {
|
60
58
|
if(msg.sender != getRegistry().getChainNftAddress()) {
|
@@ -64,171 +62,74 @@ contract Instance is
|
|
64
62
|
}
|
65
63
|
|
66
64
|
function initialize(address authority, address registryAddress, address initialOwner)
|
67
|
-
|
65
|
+
external
|
68
66
|
initializer()
|
69
67
|
{
|
68
|
+
if(authority == address(0)) {
|
69
|
+
revert ErrorInstanceInstanceAccessManagerZero();
|
70
|
+
}
|
71
|
+
|
70
72
|
__AccessManaged_init(authority);
|
71
73
|
|
72
74
|
IRegistry registry = IRegistry(registryAddress);
|
73
75
|
initializeRegisterable(registryAddress, registry.getNftId(), INSTANCE(), true, initialOwner, "");
|
74
|
-
initializeLifecycle();
|
75
76
|
|
76
77
|
registerInterface(type(IInstance).interfaceId);
|
77
78
|
}
|
78
79
|
|
79
|
-
//---
|
80
|
-
function createProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup) external restricted() {
|
81
|
-
create(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup));
|
82
|
-
}
|
83
|
-
|
84
|
-
function updateProductSetup(NftId productNftId, ISetup.ProductSetupInfo memory setup, StateId newState) external restricted() {
|
85
|
-
update(_toNftKey32(productNftId, PRODUCT()), abi.encode(setup), newState);
|
86
|
-
}
|
87
|
-
|
88
|
-
function updateProductSetupState(NftId productNftId, StateId newState) external restricted() {
|
89
|
-
updateState(_toNftKey32(productNftId, PRODUCT()), newState);
|
90
|
-
}
|
91
|
-
|
92
|
-
//--- DistributionSetup ------------------------------------------------------//
|
93
|
-
function createDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup) external restricted() {
|
94
|
-
create(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup));
|
95
|
-
}
|
96
|
-
|
97
|
-
function updateDistributionSetup(NftId distributionNftId, ISetup.DistributionSetupInfo memory setup, StateId newState) external restricted() {
|
98
|
-
update(_toNftKey32(distributionNftId, DISTRIBUTION()), abi.encode(setup), newState);
|
99
|
-
}
|
100
|
-
|
101
|
-
function updateDistributionSetupState(NftId distributionNftId, StateId newState) external restricted() {
|
102
|
-
updateState(_toNftKey32(distributionNftId, DISTRIBUTION()), newState);
|
103
|
-
}
|
104
|
-
|
105
|
-
//--- PoolSetup ------------------------------------------------------//
|
106
|
-
function createPoolSetup(NftId poolNftId, IComponents.ComponentInfo memory info) external restricted() {
|
107
|
-
create(_toNftKey32(poolNftId, POOL()), abi.encode(info));
|
108
|
-
}
|
109
|
-
|
110
|
-
function updatePoolSetup(NftId poolNftId, IComponents.ComponentInfo memory info, StateId newState) external restricted() {
|
111
|
-
update(_toNftKey32(poolNftId, POOL()), abi.encode(info), newState);
|
112
|
-
}
|
113
|
-
|
114
|
-
function updatePoolSetupState(NftId poolNftId, StateId newState) external restricted() {
|
115
|
-
updateState(_toNftKey32(poolNftId, POOL()), newState);
|
116
|
-
}
|
117
|
-
|
118
|
-
//--- DistributorType -------------------------------------------------------//
|
119
|
-
function createDistributorType(DistributorType distributorType, IDistribution.DistributorTypeInfo memory info) external restricted() {
|
120
|
-
create(distributorType.toKey32(), abi.encode(info));
|
121
|
-
}
|
122
|
-
|
123
|
-
function updateDistributorType(DistributorType distributorType, IDistribution.DistributorTypeInfo memory info, StateId newState) external restricted() {
|
124
|
-
update(distributorType.toKey32(), abi.encode(info), newState);
|
125
|
-
}
|
126
|
-
|
127
|
-
function updateDistributorTypeState(DistributorType distributorType, StateId newState) external restricted() {
|
128
|
-
updateState(distributorType.toKey32(), newState);
|
129
|
-
}
|
130
|
-
|
131
|
-
//--- Distributor -------------------------------------------------------//
|
132
|
-
function createDistributor(NftId distributorNftId, IDistribution.DistributorInfo memory info) external restricted() {
|
133
|
-
create(_toNftKey32(distributorNftId, DISTRIBUTOR()), abi.encode(info));
|
134
|
-
}
|
135
|
-
|
136
|
-
function updateDistributor(NftId distributorNftId, IDistribution.DistributorInfo memory info, StateId newState) external restricted() {
|
137
|
-
update(_toNftKey32(distributorNftId, DISTRIBUTOR()), abi.encode(info), newState);
|
138
|
-
}
|
139
|
-
|
140
|
-
function updateDistributorState(NftId distributorNftId, StateId newState) external restricted() {
|
141
|
-
updateState(_toNftKey32(distributorNftId, DISTRIBUTOR()), newState);
|
142
|
-
}
|
143
|
-
|
144
|
-
//--- Referral ----------------------------------------------------------//
|
145
|
-
function createReferral(ReferralId referralId, IDistribution.ReferralInfo memory referralInfo) external restricted() {
|
146
|
-
create(referralId.toKey32(), abi.encode(referralInfo));
|
147
|
-
}
|
148
|
-
|
149
|
-
function updateReferral(ReferralId referralId, IDistribution.ReferralInfo memory referralInfo, StateId newState) external restricted() {
|
150
|
-
update(referralId.toKey32(), abi.encode(referralInfo), newState);
|
151
|
-
}
|
152
|
-
|
153
|
-
function updateReferralState(ReferralId referralId, StateId newState) external restricted() {
|
154
|
-
updateState(referralId.toKey32(), newState);
|
155
|
-
}
|
156
|
-
|
157
|
-
//--- Bundle ------------------------------------------------------------//
|
158
|
-
function createBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle) external restricted() {
|
159
|
-
create(_toNftKey32(bundleNftId, BUNDLE()), abi.encode(bundle));
|
160
|
-
}
|
161
|
-
|
162
|
-
function updateBundle(NftId bundleNftId, IBundle.BundleInfo memory bundle, StateId newState) external restricted() {
|
163
|
-
update(_toNftKey32(bundleNftId, BUNDLE()), abi.encode(bundle), newState);
|
164
|
-
}
|
165
|
-
|
166
|
-
function updateBundleState(NftId bundleNftId, StateId newState) external restricted() {
|
167
|
-
updateState(_toNftKey32(bundleNftId, BUNDLE()), newState);
|
168
|
-
}
|
169
|
-
|
170
|
-
//--- Risk --------------------------------------------------------------//
|
171
|
-
function createRisk(RiskId riskId, IRisk.RiskInfo memory risk) external restricted() {
|
172
|
-
create(riskId.toKey32(), abi.encode(risk));
|
173
|
-
}
|
174
|
-
|
175
|
-
function updateRisk(RiskId riskId, IRisk.RiskInfo memory risk, StateId newState) external restricted() {
|
176
|
-
update(riskId.toKey32(), abi.encode(risk), newState);
|
177
|
-
}
|
178
|
-
|
179
|
-
function updateRiskState(RiskId riskId, StateId newState) external restricted() {
|
180
|
-
updateState(riskId.toKey32(), newState);
|
181
|
-
}
|
182
|
-
|
183
|
-
//--- Application (Policy) ----------------------------------------------//
|
184
|
-
function createApplication(NftId applicationNftId, IPolicy.PolicyInfo memory policy) external restricted() {
|
185
|
-
create(_toNftKey32(applicationNftId, POLICY()), abi.encode(policy));
|
186
|
-
}
|
187
|
-
|
188
|
-
function updateApplication(NftId applicationNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
|
189
|
-
update(_toNftKey32(applicationNftId, POLICY()), abi.encode(policy), newState);
|
190
|
-
}
|
191
|
-
|
192
|
-
function updateApplicationState(NftId applicationNftId, StateId newState) external restricted() {
|
193
|
-
updateState(_toNftKey32(applicationNftId, POLICY()), newState);
|
194
|
-
}
|
195
|
-
|
196
|
-
//--- Policy ------------------------------------------------------------//
|
197
|
-
function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external restricted() {
|
198
|
-
update(_toNftKey32(policyNftId, POLICY()), abi.encode(policy), newState);
|
199
|
-
}
|
80
|
+
//--- Roles ------------------------------------------------------------//
|
200
81
|
|
201
|
-
function
|
202
|
-
|
82
|
+
function createRole(string memory roleName, string memory adminName)
|
83
|
+
external
|
84
|
+
restricted // INSTANCE_OWNER_ROLE
|
85
|
+
returns (RoleId roleId, RoleId admin)
|
86
|
+
{
|
87
|
+
(roleId, admin) = _accessManager.createRole(roleName, adminName);
|
203
88
|
}
|
204
89
|
|
205
|
-
|
206
|
-
|
207
|
-
|
90
|
+
function grantRole(RoleId roleId, address account)
|
91
|
+
external
|
92
|
+
restricted // INSTANCE_OWNER_ROLE
|
93
|
+
{
|
94
|
+
_accessManager.grantRole(roleId, account);
|
208
95
|
}
|
209
96
|
|
210
|
-
function
|
211
|
-
|
97
|
+
function revokeRole(RoleId roleId, address account)
|
98
|
+
external
|
99
|
+
restricted // INSTANCE_OWNER_ROLE
|
100
|
+
{
|
101
|
+
_accessManager.revokeRole(roleId, account);
|
212
102
|
}
|
213
103
|
|
214
|
-
|
215
|
-
updateState(_toClaimKey32(policyNftId, claimId), newState);
|
216
|
-
}
|
104
|
+
//--- Targets ------------------------------------------------------------//
|
217
105
|
|
218
|
-
|
219
|
-
|
220
|
-
|
106
|
+
function createTarget(address target, string memory name)
|
107
|
+
external
|
108
|
+
restricted // INSTANCE_OWNER_ROLE
|
109
|
+
{
|
110
|
+
_accessManager.createTarget(target, name);
|
221
111
|
}
|
222
112
|
|
223
|
-
function
|
224
|
-
|
113
|
+
function setTargetFunctionRole(
|
114
|
+
string memory targetName,
|
115
|
+
bytes4[] calldata selectors,
|
116
|
+
RoleId roleId
|
117
|
+
)
|
118
|
+
external
|
119
|
+
restricted // INSTANCE_OWNER_ROLE
|
120
|
+
{
|
121
|
+
_accessManager.setTargetFunctionRole(targetName, selectors, roleId);
|
225
122
|
}
|
226
123
|
|
227
|
-
function
|
228
|
-
|
124
|
+
function setTargetLocked(address target, bool locked)
|
125
|
+
external
|
126
|
+
restricted // INSTANCE_OWNER_ROLE
|
127
|
+
{
|
128
|
+
_accessManager.setTargetLockedByInstance(target, locked);
|
229
129
|
}
|
230
130
|
|
231
131
|
//--- ITransferInterceptor ------------------------------------------------------------//
|
132
|
+
|
232
133
|
function nftMint(address to, uint256 tokenId) external onlyChainNft {
|
233
134
|
assert(_accessManager.roleMembers(INSTANCE_OWNER_ROLE()) == 0);// temp
|
234
135
|
assert(_accessManager.grantRole(INSTANCE_OWNER_ROLE(), to) == true);
|
@@ -245,27 +146,22 @@ contract Instance is
|
|
245
146
|
if(address(_accessManager) != address(0)) {
|
246
147
|
revert ErrorInstanceInstanceAccessManagerAlreadySet(address(_accessManager));
|
247
148
|
}
|
248
|
-
|
249
149
|
if(accessManager.authority() != authority()) {
|
250
150
|
revert ErrorInstanceInstanceAccessManagerAuthorityMismatch(authority());
|
251
151
|
}
|
252
|
-
|
253
152
|
_accessManager = accessManager;
|
254
153
|
}
|
255
|
-
|
154
|
+
|
256
155
|
function setBundleManager(BundleManager bundleManager) external restricted() {
|
257
156
|
if(address(_bundleManager) != address(0)) {
|
258
157
|
revert ErrorInstanceBundleManagerAlreadySet(address(_bundleManager));
|
259
158
|
}
|
260
|
-
|
261
159
|
if(bundleManager.getInstance() != Instance(this)) {
|
262
160
|
revert ErrorInstanceBundleManagerInstanceMismatch(address(this));
|
263
161
|
}
|
264
|
-
|
265
162
|
if(bundleManager.authority() != authority()) {
|
266
163
|
revert ErrorInstanceBundleManagerAuthorityMismatch(authority());
|
267
164
|
}
|
268
|
-
|
269
165
|
_bundleManager = bundleManager;
|
270
166
|
}
|
271
167
|
|
@@ -291,20 +187,43 @@ contract Instance is
|
|
291
187
|
return _accessManager;
|
292
188
|
}
|
293
189
|
|
190
|
+
function setInstanceStore(InstanceStore instanceStore) external restricted {
|
191
|
+
if(address(_instanceStore) != address(0)) {
|
192
|
+
revert ErrorInstanceInstanceStoreAlreadySet(address(_instanceStore));
|
193
|
+
}
|
194
|
+
if(instanceStore.authority() != authority()) {
|
195
|
+
revert ErrorInstanceInstanceStoreAuthorityMismatch(authority());
|
196
|
+
}
|
197
|
+
_instanceStore = instanceStore;
|
198
|
+
}
|
199
|
+
|
200
|
+
function getInstanceStore() external view returns (InstanceStore) {
|
201
|
+
return _instanceStore;
|
202
|
+
}
|
203
|
+
|
294
204
|
function getMajorVersion() external pure returns (VersionPart majorVersion) {
|
295
205
|
return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
|
296
206
|
}
|
297
207
|
|
298
|
-
|
299
|
-
|
300
|
-
return nftId.toKey32(objectType);
|
208
|
+
function getDistributionService() external view returns (IDistributionService) {
|
209
|
+
return IDistributionService(getRegistry().getServiceAddress(DISTRIBUTION(), VersionPart.wrap(3)));
|
301
210
|
}
|
302
211
|
|
303
|
-
function
|
304
|
-
return
|
212
|
+
function getProductService() external view returns (IProductService) {
|
213
|
+
return IProductService(getRegistry().getServiceAddress(PRODUCT(), VersionPart.wrap(3)));
|
305
214
|
}
|
306
215
|
|
307
|
-
function
|
308
|
-
return
|
216
|
+
function getPoolService() external view returns (IPoolService) {
|
217
|
+
return IPoolService(getRegistry().getServiceAddress(POOL(), VersionPart.wrap(3)));
|
309
218
|
}
|
310
|
-
|
219
|
+
|
220
|
+
function getPolicyService() external view returns (IPolicyService) {
|
221
|
+
return IPolicyService(getRegistry().getServiceAddress(POLICY(), VersionPart.wrap(3)));
|
222
|
+
}
|
223
|
+
|
224
|
+
function getBundleService() external view returns (IBundleService) {
|
225
|
+
return IBundleService(getRegistry().getServiceAddress(BUNDLE(), VersionPart.wrap(3)));
|
226
|
+
}
|
227
|
+
|
228
|
+
//--- internal view/pure functions --------------------------------------//
|
229
|
+
}
|