@etherisc/gif-next 0.0.2-d086e6d-456 → 0.0.2-d1f0662-893
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 +6 -88
- 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 +60 -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 +309 -2023
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +21 -62
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +424 -2776
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +95 -58
- 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 +331 -51
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +71 -215
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +38 -83
- 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 +25 -36
- 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 +8 -8
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +6 -6
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +6 -6
- 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 +106 -246
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +38 -55
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +166 -136
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +38 -59
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +623 -91
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +143 -32
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +185 -451
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +82 -107
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.json +38 -191
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +97 -45
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +306 -62
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +34 -297
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +124 -103
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +269 -60
- 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 -37
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +332 -162
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +104 -53
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +442 -84
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +90 -39
- 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 +56 -59
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +28 -37
- 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 -37
- 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 +22 -49
- 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 +23 -11
- 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 -37
- 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 +11 -38
- 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 +26 -49
- 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 +124 -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 +83 -4
- 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 +116 -7
- 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/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +17 -4
- 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 +11 -6
- package/contracts/components/IComponent.sol +16 -2
- package/contracts/components/IPoolComponent.sol +8 -7
- package/contracts/components/IProductComponent.sol +5 -4
- package/contracts/components/Pool.sol +11 -12
- package/contracts/components/Product.sol +144 -62
- package/contracts/instance/BundleManager.sol +3 -4
- package/contracts/instance/IInstance.sol +32 -53
- package/contracts/instance/IInstanceService.sol +15 -14
- package/contracts/instance/Instance.sol +107 -205
- package/contracts/instance/InstanceAccessManager.sol +44 -25
- package/contracts/instance/InstanceAuthorizationsLib.sol +308 -0
- package/contracts/instance/InstanceReader.sol +84 -7
- package/contracts/instance/InstanceService.sol +102 -289
- package/contracts/instance/InstanceStore.sol +212 -0
- package/contracts/instance/ObjectManager.sol +1 -1
- package/contracts/instance/base/ComponentService.sol +53 -41
- package/contracts/instance/base/KeyValueStore.sol +0 -31
- package/contracts/instance/base/Lifecycle.sol +15 -4
- package/contracts/instance/module/IAccess.sol +2 -2
- package/contracts/instance/module/IComponents.sol +3 -3
- package/contracts/instance/module/IDistribution.sol +3 -2
- package/contracts/instance/module/IPolicy.sol +13 -8
- package/contracts/instance/service/ApplicationService.sol +60 -224
- package/contracts/instance/service/BundleService.sol +73 -122
- package/contracts/instance/service/ClaimService.sol +318 -32
- package/contracts/instance/service/DistributionService.sol +64 -151
- package/contracts/instance/service/IApplicationService.sol +8 -28
- package/contracts/instance/service/IBundleService.sol +34 -9
- package/contracts/instance/service/IClaimService.sol +52 -23
- package/contracts/instance/service/IDistributionService.sol +11 -22
- package/contracts/instance/service/IPolicyService.sol +24 -16
- package/contracts/instance/service/IPoolService.sol +18 -3
- package/contracts/instance/service/IPricingService.sol +37 -0
- package/contracts/instance/service/PolicyService.sol +134 -118
- package/contracts/instance/service/PoolService.sol +124 -64
- package/contracts/instance/service/PricingService.sol +275 -0
- package/contracts/instance/service/PricingServiceManager.sol +51 -0
- package/contracts/instance/service/ProductService.sol +14 -14
- package/contracts/registry/IRegistryService.sol +0 -2
- package/contracts/registry/RegistryService.sol +16 -15
- package/contracts/registry/ReleaseManager.sol +20 -18
- package/contracts/shared/IPolicyHolder.sol +23 -9
- package/contracts/shared/IRegistryLinked.sol +0 -1
- package/contracts/shared/IService.sol +3 -6
- 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/Service.sol +16 -7
- package/contracts/shared/TokenHandler.sol +4 -2
- package/contracts/test/TestService.sol +1 -1
- package/contracts/types/Amount.sol +49 -0
- package/contracts/types/ClaimId.sol +25 -2
- package/contracts/types/Fee.sol +7 -6
- package/contracts/types/ObjectType.sol +9 -5
- package/contracts/types/PayoutId.sol +33 -5
- package/contracts/types/StateId.sol +6 -2
- package/contracts/types/Timestamp.sol +5 -0
- package/package.json +1 -1
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- /package/contracts/{instance → shared}/AccessManagerUpgradeableInitializeable.sol +0 -0
@@ -58,11 +58,11 @@ contract BundleService is
|
|
58
58
|
(registryAddress, initialOwner) = abi.decode(data, (address, address));
|
59
59
|
// TODO while PoolService is not deployed in PoolServiceManager constructor
|
60
60
|
// owner is PoolServiceManager deployer
|
61
|
-
initializeService(registryAddress, owner);
|
61
|
+
initializeService(registryAddress, address(0), owner);
|
62
62
|
registerInterface(type(IBundleService).interfaceId);
|
63
63
|
}
|
64
64
|
|
65
|
-
function getDomain() public pure override
|
65
|
+
function getDomain() public pure override returns(ObjectType) {
|
66
66
|
return BUNDLE();
|
67
67
|
}
|
68
68
|
|
@@ -75,16 +75,16 @@ contract BundleService is
|
|
75
75
|
function _updatePoolWithStakes(
|
76
76
|
IInstance instance,
|
77
77
|
NftId poolNftId,
|
78
|
-
|
78
|
+
Amount stakingAmount
|
79
79
|
)
|
80
80
|
internal
|
81
81
|
returns (
|
82
82
|
TokenHandler tokenHandler,
|
83
83
|
address wallet,
|
84
|
-
|
84
|
+
Amount netStakingAmount
|
85
85
|
)
|
86
86
|
{
|
87
|
-
if(stakingAmount
|
87
|
+
if(stakingAmount.gtz()) {
|
88
88
|
InstanceReader instanceReader = instance.getInstanceReader();
|
89
89
|
IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
|
90
90
|
|
@@ -92,21 +92,21 @@ contract BundleService is
|
|
92
92
|
wallet = componentInfo.wallet;
|
93
93
|
|
94
94
|
IComponents.PoolInfo memory poolInfo = abi.decode(componentInfo.data, (IComponents.PoolInfo));
|
95
|
-
|
95
|
+
Amount poolFeeAmount;
|
96
96
|
|
97
97
|
// calculate pool fee and net staking amount
|
98
98
|
(poolFeeAmount, netStakingAmount) = FeeLib.calculateFee(poolInfo.stakingFee, stakingAmount);
|
99
99
|
|
100
100
|
// update pool balance and fee amount
|
101
|
-
poolInfo.balanceAmount
|
101
|
+
poolInfo.balanceAmount = poolInfo.balanceAmount + netStakingAmount;
|
102
102
|
|
103
|
-
if(poolFeeAmount
|
104
|
-
poolInfo.feeAmount
|
103
|
+
if(poolFeeAmount.gtz()) {
|
104
|
+
poolInfo.feeAmount = poolInfo.feeAmount + poolFeeAmount;
|
105
105
|
}
|
106
106
|
|
107
107
|
// save updated pool info
|
108
108
|
componentInfo.data = abi.encode(poolInfo);
|
109
|
-
instance.updatePoolSetup(poolNftId, componentInfo, KEEP_STATE());
|
109
|
+
instance.getInstanceStore().updatePoolSetup(poolNftId, componentInfo, KEEP_STATE());
|
110
110
|
}
|
111
111
|
}
|
112
112
|
|
@@ -115,7 +115,7 @@ contract BundleService is
|
|
115
115
|
IInstance instance,
|
116
116
|
NftId poolNftId,
|
117
117
|
address owner,
|
118
|
-
Fee memory
|
118
|
+
Fee memory bundleFee,
|
119
119
|
Amount stakingAmount,
|
120
120
|
Seconds lifetime,
|
121
121
|
bytes calldata filter
|
@@ -125,21 +125,6 @@ contract BundleService is
|
|
125
125
|
// TODO add restricted and add authz for pool service
|
126
126
|
returns(NftId bundleNftId)
|
127
127
|
{
|
128
|
-
InstanceReader instanceReader = instance.getInstanceReader();
|
129
|
-
|
130
|
-
// create initial bundle info
|
131
|
-
IBundle.BundleInfo memory bundleInfo = IBundle.BundleInfo(
|
132
|
-
poolNftId,
|
133
|
-
fee,
|
134
|
-
filter,
|
135
|
-
stakingAmount,
|
136
|
-
AmountLib.zero(),
|
137
|
-
AmountLib.zero(),
|
138
|
-
lifetime,
|
139
|
-
TimestampLib.blockTimestamp().addSeconds(lifetime),
|
140
|
-
zeroTimestamp()
|
141
|
-
);
|
142
|
-
|
143
128
|
// register bundle with registry
|
144
129
|
bundleNftId = getRegistryService().registerBundle(
|
145
130
|
IRegistry.ObjectInfo(
|
@@ -154,23 +139,27 @@ contract BundleService is
|
|
154
139
|
);
|
155
140
|
|
156
141
|
// create bundle info in instance
|
157
|
-
instance.createBundle(
|
142
|
+
instance.getInstanceStore().createBundle(
|
143
|
+
bundleNftId,
|
144
|
+
IBundle.BundleInfo(
|
145
|
+
poolNftId,
|
146
|
+
bundleFee,
|
147
|
+
filter,
|
148
|
+
stakingAmount,
|
149
|
+
AmountLib.zero(),
|
150
|
+
AmountLib.zero(),
|
151
|
+
lifetime,
|
152
|
+
TimestampLib.blockTimestamp().addSeconds(lifetime),
|
153
|
+
zeroTimestamp()));
|
158
154
|
|
159
155
|
// put bundle under bundle managemet
|
160
156
|
BundleManager bundleManager = instance.getBundleManager();
|
161
157
|
bundleManager.add(bundleNftId);
|
162
|
-
|
163
|
-
// transfer full staking amount to pool wallet
|
164
|
-
IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
|
165
|
-
componentInfo.tokenHandler.transfer(
|
166
|
-
owner,
|
167
|
-
componentInfo.wallet,
|
168
|
-
stakingAmount.toInt()
|
169
|
-
);
|
170
158
|
|
171
159
|
// TODO add logging
|
172
160
|
}
|
173
161
|
|
162
|
+
|
174
163
|
function setFee(
|
175
164
|
NftId bundleNftId,
|
176
165
|
Fee memory fee
|
@@ -178,16 +167,19 @@ contract BundleService is
|
|
178
167
|
external
|
179
168
|
override
|
180
169
|
{
|
181
|
-
(NftId poolNftId
|
170
|
+
(NftId poolNftId,, IInstance instance) = _getAndVerifyCallingComponentAndInstance(POOL());
|
182
171
|
InstanceReader instanceReader = instance.getInstanceReader();
|
183
|
-
|
184
172
|
IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
185
|
-
|
186
|
-
|
173
|
+
if(bundleInfo.poolNftId.eqz()) {
|
174
|
+
revert ErrorBundleServiceBundleUnknown(bundleNftId);
|
175
|
+
}
|
187
176
|
|
188
|
-
bundleInfo.
|
177
|
+
if(bundleInfo.poolNftId != poolNftId) {
|
178
|
+
revert ErrorBundleServiceBundlePoolMismatch(bundleNftId, bundleInfo.poolNftId, poolNftId);
|
179
|
+
}
|
189
180
|
|
190
|
-
|
181
|
+
bundleInfo.fee = fee;
|
182
|
+
instance.getInstanceStore().updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
|
191
183
|
}
|
192
184
|
|
193
185
|
|
@@ -196,8 +188,8 @@ contract BundleService is
|
|
196
188
|
IInstance instance,
|
197
189
|
NftId policyNftId,
|
198
190
|
NftId bundleNftId,
|
199
|
-
|
200
|
-
|
191
|
+
Amount collateralAmount, // required amount to collateralize policy
|
192
|
+
Amount premiumAmount // premium part that reaches bundle for this policy
|
201
193
|
)
|
202
194
|
external
|
203
195
|
onlyService // TODO replace with restricted + appropriate granting
|
@@ -212,7 +204,7 @@ contract BundleService is
|
|
212
204
|
}
|
213
205
|
|
214
206
|
// ensure bundle capacity is sufficent to collateralize policy
|
215
|
-
|
207
|
+
Amount capacity = bundleInfo.capitalAmount + premiumAmount - bundleInfo.lockedAmount;
|
216
208
|
if(capacity < collateralAmount) {
|
217
209
|
revert ErrorBundleServiceCapacityInsufficient(bundleNftId, capacity, collateralAmount);
|
218
210
|
}
|
@@ -220,7 +212,7 @@ contract BundleService is
|
|
220
212
|
// TODO add more validation
|
221
213
|
|
222
214
|
// updated locked amount
|
223
|
-
bundleInfo.lockedAmount =
|
215
|
+
bundleInfo.lockedAmount = bundleInfo.lockedAmount + collateralAmount;
|
224
216
|
|
225
217
|
// update capital and fees when premiums are involved
|
226
218
|
_updateBundleWithPremium(instance, bundleNftId, bundleInfo, premiumAmount);
|
@@ -234,40 +226,46 @@ contract BundleService is
|
|
234
226
|
IInstance instance,
|
235
227
|
NftId bundleNftId,
|
236
228
|
IBundle.BundleInfo memory bundleInfo,
|
237
|
-
|
229
|
+
Amount premiumAmount
|
238
230
|
)
|
239
231
|
internal
|
240
232
|
{
|
241
233
|
// update bundle capital and fee amounts
|
242
|
-
if(premiumAmount
|
234
|
+
if(premiumAmount.gtz()) {
|
243
235
|
// calculate fees and net premium amounts
|
244
236
|
(
|
245
|
-
|
246
|
-
|
237
|
+
,
|
238
|
+
Amount netPremiumAmount
|
247
239
|
) = FeeLib.calculateFee(bundleInfo.fee, premiumAmount);
|
248
240
|
|
249
241
|
// update bundle info with additional capital
|
250
|
-
bundleInfo.capitalAmount =
|
251
|
-
|
252
|
-
// update bundle info with additional fees
|
253
|
-
if(feeAmount > 0) {
|
254
|
-
bundleInfo.feeAmount = AmountLib.toAmount(bundleInfo.feeAmount.toInt() + feeAmount);
|
255
|
-
}
|
242
|
+
bundleInfo.capitalAmount = bundleInfo.capitalAmount + netPremiumAmount;
|
256
243
|
}
|
257
244
|
|
258
245
|
// save updated bundle info
|
259
|
-
instance.updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
|
246
|
+
instance.getInstanceStore().updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
|
260
247
|
}
|
261
248
|
|
249
|
+
function updateBundleFees(
|
250
|
+
IInstance instance,
|
251
|
+
NftId bundleNftId,
|
252
|
+
Amount feeAmount
|
253
|
+
)
|
254
|
+
external
|
255
|
+
{
|
256
|
+
IBundle.BundleInfo memory bundleInfo = instance.getInstanceReader().getBundleInfo(bundleNftId);
|
257
|
+
bundleInfo.feeAmount = bundleInfo.feeAmount.add(feeAmount);
|
258
|
+
instance.getInstanceStore().updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
|
259
|
+
}
|
262
260
|
|
263
261
|
function lock(NftId bundleNftId)
|
264
262
|
external
|
265
263
|
virtual
|
266
264
|
{
|
267
|
-
(,, IInstance instance) =
|
265
|
+
(,, IInstance instance) = _getAndVerifyCallingComponentAndInstance(POOL());
|
268
266
|
|
269
267
|
// udpate bundle state
|
270
|
-
instance.updateBundleState(bundleNftId, PAUSED());
|
268
|
+
instance.getInstanceStore().updateBundleState(bundleNftId, PAUSED());
|
271
269
|
|
272
270
|
// update set of active bundles
|
273
271
|
BundleManager bundleManager = instance.getBundleManager();
|
@@ -281,10 +279,10 @@ contract BundleService is
|
|
281
279
|
external
|
282
280
|
virtual
|
283
281
|
{
|
284
|
-
(,, IInstance instance) =
|
282
|
+
(,, IInstance instance) = _getAndVerifyCallingComponentAndInstance(POOL());
|
285
283
|
|
286
284
|
// udpate bundle state
|
287
|
-
instance.updateBundleState(bundleNftId, ACTIVE());
|
285
|
+
instance.getInstanceStore().updateBundleState(bundleNftId, ACTIVE());
|
288
286
|
|
289
287
|
// update set of active bundles
|
290
288
|
BundleManager bundleManager = instance.getBundleManager();
|
@@ -303,7 +301,7 @@ contract BundleService is
|
|
303
301
|
// TODO add restricted and autz for pool service
|
304
302
|
{
|
305
303
|
// udpate bundle state
|
306
|
-
instance.updateBundleState(bundleNftId, CLOSED());
|
304
|
+
instance.getInstanceStore().updateBundleState(bundleNftId, CLOSED());
|
307
305
|
|
308
306
|
// ensure no open policies attached to bundle
|
309
307
|
BundleManager bundleManager = instance.getBundleManager();
|
@@ -320,7 +318,7 @@ contract BundleService is
|
|
320
318
|
function increaseBalance(
|
321
319
|
IInstance instance,
|
322
320
|
NftId bundleNftId,
|
323
|
-
|
321
|
+
Amount premiumAmount
|
324
322
|
)
|
325
323
|
external
|
326
324
|
onlyService
|
@@ -337,7 +335,7 @@ contract BundleService is
|
|
337
335
|
function releaseCollateral(IInstance instance,
|
338
336
|
NftId policyNftId,
|
339
337
|
NftId bundleNftId,
|
340
|
-
|
338
|
+
Amount collateralAmount
|
341
339
|
)
|
342
340
|
external
|
343
341
|
onlyService
|
@@ -346,11 +344,8 @@ contract BundleService is
|
|
346
344
|
IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
|
347
345
|
|
348
346
|
// reduce locked amount by released collateral amount
|
349
|
-
bundleInfo.lockedAmount =
|
350
|
-
|
351
|
-
instance.updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
|
352
|
-
|
353
|
-
_unlinkPolicy(instance, policyNftId);
|
347
|
+
bundleInfo.lockedAmount = bundleInfo.lockedAmount - collateralAmount;
|
348
|
+
instance.getInstanceStore().updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
|
354
349
|
}
|
355
350
|
|
356
351
|
/// @dev links policy to bundle
|
@@ -369,63 +364,19 @@ contract BundleService is
|
|
369
364
|
bundleManager.linkPolicy(policyNftId);
|
370
365
|
}
|
371
366
|
|
372
|
-
|
373
|
-
function
|
374
|
-
|
367
|
+
/// @dev unlinks policy from bundle
|
368
|
+
function unlinkPolicy(
|
369
|
+
IInstance instance,
|
370
|
+
NftId policyNftId
|
371
|
+
)
|
372
|
+
external
|
373
|
+
virtual
|
375
374
|
{
|
376
|
-
InstanceReader instanceReader = instance.getInstanceReader();
|
377
|
-
IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
|
378
|
-
|
379
|
-
// ensure policy has no open claims
|
380
|
-
if (policyInfo.openClaimsCount > 0) {
|
381
|
-
revert BundleManager.ErrorBundleManagerPolicyWithOpenClaims(
|
382
|
-
policyNftId,
|
383
|
-
policyInfo.openClaimsCount);
|
384
|
-
}
|
385
|
-
|
386
375
|
// ensure policy is closeable
|
387
|
-
if (
|
388
|
-
|
389
|
-
{
|
390
|
-
revert BundleManager.ErrorBundleManagerPolicyNotCloseable(policyNftId);
|
376
|
+
if (!instance.getInstanceReader().policyIsCloseable(policyNftId)) {
|
377
|
+
revert ErrorBundleServicePolicyNotCloseable(policyNftId);
|
391
378
|
}
|
392
|
-
|
393
|
-
BundleManager bundleManager = instance.getBundleManager();
|
394
|
-
bundleManager.unlinkPolicy(policyNftId);
|
395
|
-
}
|
396
|
-
|
397
|
-
// TODO move this to pool service
|
398
|
-
function _processStakingByTreasury(
|
399
|
-
InstanceReader instanceReader,
|
400
|
-
NftId poolNftId,
|
401
|
-
NftId bundleNftId,
|
402
|
-
Amount stakingAmount
|
403
|
-
)
|
404
|
-
internal
|
405
|
-
{
|
406
|
-
// process token transfer(s)
|
407
|
-
if(stakingAmount.gtz()) {
|
408
|
-
IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
|
409
|
-
IComponents.PoolInfo memory poolInfo = abi.decode(componentInfo.data, (IComponents.PoolInfo));
|
410
379
|
|
411
|
-
|
412
|
-
address bundleOwner = getRegistry().ownerOf(bundleNftId);
|
413
|
-
Fee memory stakingFee = poolInfo.stakingFee;
|
414
|
-
|
415
|
-
// pool fee and bundle capital book keeping
|
416
|
-
if (FeeLib.gtz(stakingFee)) {
|
417
|
-
(uint256 stakingFeeAmount, uint256 netAmount) = FeeLib.calculateFee(stakingFee, stakingAmount.toInt());
|
418
|
-
|
419
|
-
|
420
|
-
// TODO: track staking fees in pool's state (issue #177)
|
421
|
-
}
|
422
|
-
|
423
|
-
// transfer full staking amount to pool wallet
|
424
|
-
tokenHandler.transfer(
|
425
|
-
bundleOwner,
|
426
|
-
componentInfo.wallet,
|
427
|
-
stakingAmount.toInt()
|
428
|
-
);
|
429
|
-
}
|
380
|
+
instance.getBundleManager().unlinkPolicy(policyNftId);
|
430
381
|
}
|
431
382
|
}
|