@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.
Files changed (252) hide show
  1. package/artifacts/contracts/components/Component.sol/Component.dbg.json +1 -1
  2. package/artifacts/contracts/components/Component.sol/Component.json +37 -6
  3. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.json +44 -13
  5. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +1 -1
  6. package/artifacts/contracts/components/IComponent.sol/IComponent.json +37 -6
  7. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +44 -13
  9. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +55 -24
  11. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +52 -21
  13. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  14. package/artifacts/contracts/components/Pool.sol/Pool.json +55 -24
  15. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  16. package/artifacts/contracts/components/Product.sol/Product.json +52 -21
  17. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  18. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +2 -2
  19. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +1 -1
  20. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  21. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +252 -2210
  22. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  23. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +21 -38
  24. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  25. package/artifacts/contracts/instance/Instance.sol/Instance.json +346 -2685
  26. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +67 -49
  28. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  29. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +124 -0
  30. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  31. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +219 -53
  32. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  33. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +59 -220
  34. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  35. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +32 -117
  36. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  37. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2788 -0
  38. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +1 -1
  39. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +2 -2
  40. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +1 -1
  41. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.json +37 -13
  42. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  43. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  44. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  45. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +2 -2
  46. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  47. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +2 -2
  48. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  49. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  50. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  51. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  52. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  53. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  54. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  55. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  56. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  57. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +75 -217
  58. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  59. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +33 -66
  60. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +1 -1
  61. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +155 -133
  62. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  63. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +35 -64
  64. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +1 -1
  65. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +463 -119
  66. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  67. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +109 -42
  68. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  69. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +181 -399
  70. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  71. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +81 -94
  72. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  73. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.json +11 -145
  74. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +1 -1
  75. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +79 -30
  76. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +1 -1
  77. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +229 -88
  78. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  79. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +23 -273
  80. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  81. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +40 -326
  82. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  83. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +265 -32
  84. package/artifacts/contracts/instance/service/IPricingService.sol/IPricingService.dbg.json +4 -0
  85. package/artifacts/contracts/instance/service/IPricingService.sol/IPricingService.json +510 -0
  86. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  87. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +5 -13
  88. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +1 -1
  89. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +213 -443
  90. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  91. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +74 -75
  92. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  93. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +439 -54
  94. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  95. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +84 -37
  96. package/artifacts/contracts/instance/service/PricingService.sol/PricingService.dbg.json +4 -0
  97. package/artifacts/contracts/instance/service/PricingService.sol/PricingService.json +1004 -0
  98. package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  99. package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.json +688 -0
  100. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  101. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +55 -31
  102. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  103. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +22 -35
  104. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  105. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  106. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  107. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +5 -13
  108. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  109. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  110. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  111. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +1 -1
  112. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +2 -2
  113. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  114. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +17 -25
  115. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  116. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +21 -34
  117. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  118. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +2 -2
  119. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  120. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +10 -23
  121. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  122. package/artifacts/contracts/{instance → shared}/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +3 -3
  123. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  124. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  125. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  126. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +0 -13
  127. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  128. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +69 -9
  129. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  130. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +0 -13
  131. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  132. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
  133. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  134. package/artifacts/contracts/shared/IService.sol/IService.json +5 -13
  135. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  136. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  137. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +6 -19
  138. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  139. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +80 -26
  140. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  141. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +14 -27
  142. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  143. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +6 -19
  144. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  145. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
  146. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  147. package/artifacts/contracts/shared/Service.sol/Service.json +5 -13
  148. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  149. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +24 -6
  150. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  151. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  152. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  153. package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
  154. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  155. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +6 -19
  156. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  157. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
  158. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  159. package/artifacts/contracts/test/TestService.sol/TestService.json +17 -25
  160. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  161. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  162. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  163. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  164. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  165. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +1 -1
  166. package/artifacts/contracts/types/Amount.sol/AmountLib.json +100 -4
  167. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  168. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  169. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  170. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +2 -2
  171. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  172. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
  173. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  174. package/artifacts/contracts/types/Fee.sol/FeeLib.json +42 -18
  175. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  176. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
  177. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  178. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  179. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  180. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  181. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  182. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  183. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  184. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  185. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +2 -2
  186. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  187. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +2 -2
  188. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  189. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  190. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  191. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  192. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +1 -1
  193. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  194. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  195. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  196. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  197. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  198. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  199. package/contracts/components/Component.sol +21 -2
  200. package/contracts/components/Distribution.sol +5 -4
  201. package/contracts/components/IComponent.sol +16 -2
  202. package/contracts/components/IPoolComponent.sol +7 -6
  203. package/contracts/components/IProductComponent.sol +5 -4
  204. package/contracts/components/Pool.sol +8 -8
  205. package/contracts/components/Product.sol +21 -17
  206. package/contracts/instance/IInstance.sol +28 -53
  207. package/contracts/instance/IInstanceService.sol +15 -10
  208. package/contracts/instance/Instance.sol +90 -171
  209. package/contracts/instance/InstanceAccessManager.sol +35 -21
  210. package/contracts/instance/InstanceAuthorizationsLib.sol +308 -0
  211. package/contracts/instance/InstanceReader.sol +56 -5
  212. package/contracts/instance/InstanceService.sol +96 -266
  213. package/contracts/instance/InstanceStore.sol +212 -0
  214. package/contracts/instance/ObjectManager.sol +1 -1
  215. package/contracts/instance/base/ComponentService.sol +47 -20
  216. package/contracts/instance/base/KeyValueStore.sol +0 -31
  217. package/contracts/instance/base/Lifecycle.sol +7 -4
  218. package/contracts/instance/module/IComponents.sol +3 -3
  219. package/contracts/instance/module/IDistribution.sol +3 -2
  220. package/contracts/instance/module/IPolicy.sol +5 -5
  221. package/contracts/instance/service/ApplicationService.sol +58 -227
  222. package/contracts/instance/service/BundleService.sol +65 -119
  223. package/contracts/instance/service/ClaimService.sol +232 -34
  224. package/contracts/instance/service/DistributionService.sol +51 -134
  225. package/contracts/instance/service/IApplicationService.sol +5 -21
  226. package/contracts/instance/service/IBundleService.sol +32 -10
  227. package/contracts/instance/service/IClaimService.sol +37 -39
  228. package/contracts/instance/service/IDistributionService.sol +10 -22
  229. package/contracts/instance/service/IPolicyService.sol +15 -72
  230. package/contracts/instance/service/IPoolService.sol +18 -3
  231. package/contracts/instance/service/IPricingService.sol +37 -0
  232. package/contracts/instance/service/PolicyService.sol +112 -277
  233. package/contracts/instance/service/PoolService.sol +121 -21
  234. package/contracts/instance/service/PricingService.sol +275 -0
  235. package/contracts/instance/service/PricingServiceManager.sol +51 -0
  236. package/contracts/instance/service/ProductService.sol +10 -10
  237. package/contracts/registry/IRegistryService.sol +0 -2
  238. package/contracts/registry/RegistryService.sol +14 -10
  239. package/contracts/shared/IPolicyHolder.sol +23 -9
  240. package/contracts/shared/IRegistryLinked.sol +0 -1
  241. package/contracts/shared/IService.sol +2 -0
  242. package/contracts/shared/NftOwnable.sol +0 -2
  243. package/contracts/shared/PolicyHolder.sol +30 -17
  244. package/contracts/shared/Registerable.sol +10 -9
  245. package/contracts/shared/RegistryLinked.sol +0 -5
  246. package/contracts/shared/TokenHandler.sol +4 -2
  247. package/contracts/types/Amount.sol +44 -0
  248. package/contracts/types/Fee.sol +7 -6
  249. package/contracts/types/ObjectType.sol +5 -1
  250. package/package.json +1 -1
  251. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  252. /package/contracts/{instance → shared}/AccessManagerUpgradeableInitializeable.sol +0 -0
@@ -75,16 +75,16 @@ contract BundleService is
75
75
  function _updatePoolWithStakes(
76
76
  IInstance instance,
77
77
  NftId poolNftId,
78
- uint256 stakingAmount
78
+ Amount stakingAmount
79
79
  )
80
80
  internal
81
81
  returns (
82
82
  TokenHandler tokenHandler,
83
83
  address wallet,
84
- uint256 netStakingAmount
84
+ Amount netStakingAmount
85
85
  )
86
86
  {
87
- if(stakingAmount > 0) {
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
- uint256 poolFeeAmount;
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 += netStakingAmount;
101
+ poolInfo.balanceAmount = poolInfo.balanceAmount + netStakingAmount;
102
102
 
103
- if(poolFeeAmount > 0) {
104
- poolInfo.feeAmount += poolFeeAmount;
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 fee,
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(bundleNftId, bundleInfo);
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,21 +167,19 @@ contract BundleService is
178
167
  external
179
168
  override
180
169
  {
181
- (NftId poolNftId, IRegistry.ObjectInfo memory info , IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
170
+ (NftId poolNftId,, IInstance instance) = _getAndVerifyCallingComponentAndInstance(POOL());
182
171
  InstanceReader instanceReader = instance.getInstanceReader();
183
-
184
172
  IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
185
173
  if(bundleInfo.poolNftId.eqz()) {
186
174
  revert ErrorBundleServiceBundleUnknown(bundleNftId);
187
175
  }
188
176
 
189
177
  if(bundleInfo.poolNftId != poolNftId) {
190
- revert ErrorBundleServiceBundlePoolMismatch(poolNftId, bundleInfo.poolNftId );
178
+ revert ErrorBundleServiceBundlePoolMismatch(bundleNftId, bundleInfo.poolNftId, poolNftId);
191
179
  }
192
180
 
193
181
  bundleInfo.fee = fee;
194
-
195
- instance.updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
182
+ instance.getInstanceStore().updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
196
183
  }
197
184
 
198
185
 
@@ -201,8 +188,8 @@ contract BundleService is
201
188
  IInstance instance,
202
189
  NftId policyNftId,
203
190
  NftId bundleNftId,
204
- uint256 collateralAmount, // required amount to collateralize policy
205
- uint256 premiumAmount // premium part that reaches bundle for this policy
191
+ Amount collateralAmount, // required amount to collateralize policy
192
+ Amount premiumAmount // premium part that reaches bundle for this policy
206
193
  )
207
194
  external
208
195
  onlyService // TODO replace with restricted + appropriate granting
@@ -217,7 +204,7 @@ contract BundleService is
217
204
  }
218
205
 
219
206
  // ensure bundle capacity is sufficent to collateralize policy
220
- uint capacity = bundleInfo.capitalAmount.toInt() + premiumAmount - bundleInfo.lockedAmount.toInt();
207
+ Amount capacity = bundleInfo.capitalAmount + premiumAmount - bundleInfo.lockedAmount;
221
208
  if(capacity < collateralAmount) {
222
209
  revert ErrorBundleServiceCapacityInsufficient(bundleNftId, capacity, collateralAmount);
223
210
  }
@@ -225,7 +212,7 @@ contract BundleService is
225
212
  // TODO add more validation
226
213
 
227
214
  // updated locked amount
228
- bundleInfo.lockedAmount = AmountLib.toAmount(bundleInfo.lockedAmount.toInt() + collateralAmount);
215
+ bundleInfo.lockedAmount = bundleInfo.lockedAmount + collateralAmount;
229
216
 
230
217
  // update capital and fees when premiums are involved
231
218
  _updateBundleWithPremium(instance, bundleNftId, bundleInfo, premiumAmount);
@@ -239,40 +226,46 @@ contract BundleService is
239
226
  IInstance instance,
240
227
  NftId bundleNftId,
241
228
  IBundle.BundleInfo memory bundleInfo,
242
- uint256 premiumAmount
229
+ Amount premiumAmount
243
230
  )
244
231
  internal
245
232
  {
246
233
  // update bundle capital and fee amounts
247
- if(premiumAmount > 0) {
234
+ if(premiumAmount.gtz()) {
248
235
  // calculate fees and net premium amounts
249
236
  (
250
- uint256 feeAmount,
251
- uint256 netPremiumAmount
237
+ ,
238
+ Amount netPremiumAmount
252
239
  ) = FeeLib.calculateFee(bundleInfo.fee, premiumAmount);
253
240
 
254
241
  // update bundle info with additional capital
255
- bundleInfo.capitalAmount = AmountLib.toAmount(bundleInfo.capitalAmount.toInt() + netPremiumAmount);
256
-
257
- // update bundle info with additional fees
258
- if(feeAmount > 0) {
259
- bundleInfo.feeAmount = AmountLib.toAmount(bundleInfo.feeAmount.toInt() + feeAmount);
260
- }
242
+ bundleInfo.capitalAmount = bundleInfo.capitalAmount + netPremiumAmount;
261
243
  }
262
244
 
263
245
  // save updated bundle info
264
- instance.updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
246
+ instance.getInstanceStore().updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
265
247
  }
266
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
+ }
267
260
 
268
261
  function lock(NftId bundleNftId)
269
262
  external
270
263
  virtual
271
264
  {
272
- (,, IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
265
+ (,, IInstance instance) = _getAndVerifyCallingComponentAndInstance(POOL());
273
266
 
274
267
  // udpate bundle state
275
- instance.updateBundleState(bundleNftId, PAUSED());
268
+ instance.getInstanceStore().updateBundleState(bundleNftId, PAUSED());
276
269
 
277
270
  // update set of active bundles
278
271
  BundleManager bundleManager = instance.getBundleManager();
@@ -286,10 +279,10 @@ contract BundleService is
286
279
  external
287
280
  virtual
288
281
  {
289
- (,, IInstance instance) = _getAndVerifyComponentInfoAndInstance(POOL());
282
+ (,, IInstance instance) = _getAndVerifyCallingComponentAndInstance(POOL());
290
283
 
291
284
  // udpate bundle state
292
- instance.updateBundleState(bundleNftId, ACTIVE());
285
+ instance.getInstanceStore().updateBundleState(bundleNftId, ACTIVE());
293
286
 
294
287
  // update set of active bundles
295
288
  BundleManager bundleManager = instance.getBundleManager();
@@ -308,7 +301,7 @@ contract BundleService is
308
301
  // TODO add restricted and autz for pool service
309
302
  {
310
303
  // udpate bundle state
311
- instance.updateBundleState(bundleNftId, CLOSED());
304
+ instance.getInstanceStore().updateBundleState(bundleNftId, CLOSED());
312
305
 
313
306
  // ensure no open policies attached to bundle
314
307
  BundleManager bundleManager = instance.getBundleManager();
@@ -325,7 +318,7 @@ contract BundleService is
325
318
  function increaseBalance(
326
319
  IInstance instance,
327
320
  NftId bundleNftId,
328
- uint256 premiumAmount
321
+ Amount premiumAmount
329
322
  )
330
323
  external
331
324
  onlyService
@@ -342,7 +335,7 @@ contract BundleService is
342
335
  function releaseCollateral(IInstance instance,
343
336
  NftId policyNftId,
344
337
  NftId bundleNftId,
345
- uint256 collateralAmount
338
+ Amount collateralAmount
346
339
  )
347
340
  external
348
341
  onlyService
@@ -351,11 +344,8 @@ contract BundleService is
351
344
  IBundle.BundleInfo memory bundleInfo = instanceReader.getBundleInfo(bundleNftId);
352
345
 
353
346
  // reduce locked amount by released collateral amount
354
- bundleInfo.lockedAmount = AmountLib.toAmount(bundleInfo.lockedAmount.toInt() - collateralAmount);
355
-
356
- instance.updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
357
-
358
- _unlinkPolicy(instance, policyNftId);
347
+ bundleInfo.lockedAmount = bundleInfo.lockedAmount - collateralAmount;
348
+ instance.getInstanceStore().updateBundle(bundleNftId, bundleInfo, KEEP_STATE());
359
349
  }
360
350
 
361
351
  /// @dev links policy to bundle
@@ -374,63 +364,19 @@ contract BundleService is
374
364
  bundleManager.linkPolicy(policyNftId);
375
365
  }
376
366
 
377
- /// @dev unlinks policy from bundle
378
- function _unlinkPolicy(IInstance instance, NftId policyNftId)
379
- internal
367
+ /// @dev unlinks policy from bundle
368
+ function unlinkPolicy(
369
+ IInstance instance,
370
+ NftId policyNftId
371
+ )
372
+ external
373
+ virtual
380
374
  {
381
- InstanceReader instanceReader = instance.getInstanceReader();
382
- IPolicy.PolicyInfo memory policyInfo = instanceReader.getPolicyInfo(policyNftId);
383
-
384
- // ensure policy has no open claims
385
- if (policyInfo.openClaimsCount > 0) {
386
- revert BundleManager.ErrorBundleManagerPolicyWithOpenClaims(
387
- policyNftId,
388
- policyInfo.openClaimsCount);
389
- }
390
-
391
375
  // ensure policy is closeable
392
- if ( TimestampLib.blockTimestamp() < policyInfo.expiredAt
393
- && policyInfo.payoutAmount.toInt() < policyInfo.sumInsuredAmount)
394
- {
395
- revert BundleManager.ErrorBundleManagerPolicyNotCloseable(policyNftId);
376
+ if (!instance.getInstanceReader().policyIsCloseable(policyNftId)) {
377
+ revert ErrorBundleServicePolicyNotCloseable(policyNftId);
396
378
  }
397
-
398
- BundleManager bundleManager = instance.getBundleManager();
399
- bundleManager.unlinkPolicy(policyNftId);
400
- }
401
379
 
402
- // TODO move this to pool service
403
- function _processStakingByTreasury(
404
- InstanceReader instanceReader,
405
- NftId poolNftId,
406
- NftId bundleNftId,
407
- Amount stakingAmount
408
- )
409
- internal
410
- {
411
- // process token transfer(s)
412
- if(stakingAmount.gtz()) {
413
- IComponents.ComponentInfo memory componentInfo = instanceReader.getComponentInfo(poolNftId);
414
- IComponents.PoolInfo memory poolInfo = abi.decode(componentInfo.data, (IComponents.PoolInfo));
415
-
416
- TokenHandler tokenHandler = componentInfo.tokenHandler;
417
- address bundleOwner = getRegistry().ownerOf(bundleNftId);
418
- Fee memory stakingFee = poolInfo.stakingFee;
419
-
420
- // pool fee and bundle capital book keeping
421
- if (FeeLib.gtz(stakingFee)) {
422
- (uint256 stakingFeeAmount, uint256 netAmount) = FeeLib.calculateFee(stakingFee, stakingAmount.toInt());
423
-
424
-
425
- // TODO: track staking fees in pool's state (issue #177)
426
- }
427
-
428
- // transfer full staking amount to pool wallet
429
- tokenHandler.transfer(
430
- bundleOwner,
431
- componentInfo.wallet,
432
- stakingAmount.toInt()
433
- );
434
- }
380
+ instance.getBundleManager().unlinkPolicy(policyNftId);
435
381
  }
436
382
  }