@etherisc/gif-next 0.0.2-f2df3e2-873 → 0.0.2-f398177-971

Sign up to get free protection for your applications and to get access to all the features.
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
  }