@etherisc/gif-next 0.0.2-f8e07c7-917 → 0.0.2-f981ede-436

Sign up to get free protection for your applications and to get access to all the features.
Files changed (247) hide show
  1. package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
  2. package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
  3. package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
  4. package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
  5. package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
  6. package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
  7. package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
  8. package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
  9. package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
  10. package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
  11. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
  12. package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +50 -26
  13. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
  14. package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +16 -16
  15. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
  16. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +24 -0
  17. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
  18. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +237 -74
  19. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  20. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +66 -38
  21. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  22. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +24 -0
  23. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  24. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +102 -0
  25. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
  26. package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
  27. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  28. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  29. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  30. package/artifacts/contracts/instance/Instance.sol/Instance.json +2 -2
  31. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
  32. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2 -2
  33. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
  34. package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +2 -2
  35. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  36. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +54 -59
  37. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  38. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +2 -2
  39. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  40. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +2 -2
  41. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
  42. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +66 -76
  43. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
  44. package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
  45. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
  46. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
  47. package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
  48. package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
  49. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
  50. package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
  51. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  52. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  53. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
  54. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  55. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  56. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  57. package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
  58. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
  59. package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +2 -2
  60. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
  61. package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
  62. package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
  63. package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
  64. package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
  65. package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
  66. package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
  67. package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +2 -2
  68. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
  69. package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +2 -2
  70. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
  71. package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +24 -0
  72. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
  73. package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +16 -16
  74. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
  75. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +312 -44
  76. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
  77. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +63 -23
  78. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
  79. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +188 -0
  80. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  81. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +24 -0
  82. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
  83. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +101 -0
  84. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
  85. package/artifacts/contracts/pool/Pool.sol/Pool.json +24 -0
  86. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
  87. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +177 -36
  88. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  89. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +39 -19
  90. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
  91. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
  92. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
  93. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +2 -2
  94. package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
  95. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
  96. package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +2 -2
  97. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
  98. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +2 -2
  99. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
  100. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +2 -2
  101. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
  102. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
  103. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
  104. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
  105. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  106. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
  107. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
  108. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +2 -2
  109. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
  110. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +2 -2
  111. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
  112. package/artifacts/contracts/product/PricingService.sol/PricingService.json +7 -2
  113. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
  114. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
  115. package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
  116. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
  117. package/artifacts/contracts/product/ProductService.sol/ProductService.json +2 -2
  118. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
  119. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +2 -2
  120. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  121. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  122. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  123. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  124. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  125. package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
  126. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
  127. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +2 -2
  128. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  129. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
  130. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  131. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
  132. package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
  133. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
  134. package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +2 -2
  135. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
  136. package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
  137. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  138. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
  139. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
  140. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
  141. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +132 -76
  142. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
  143. package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +39 -39
  144. package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
  145. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  146. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
  147. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
  148. package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +56 -0
  149. package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
  150. package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  151. package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  152. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  153. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
  154. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  155. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
  156. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  157. package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
  158. package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
  159. package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  160. package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  161. package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
  162. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  163. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
  164. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
  165. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  166. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
  167. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  168. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  169. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  170. package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
  171. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
  172. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
  173. package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +12 -2
  174. package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
  175. package/artifacts/contracts/staking/Staking.sol/Staking.json +2 -2
  176. package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
  177. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
  178. package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +2 -2
  179. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
  180. package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
  181. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
  182. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +2 -2
  183. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
  184. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +2 -2
  185. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
  186. package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +17 -12
  187. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
  188. package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +7 -2
  189. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  190. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
  191. package/artifacts/contracts/type/Amount.sol/AmountLib.json +37 -8
  192. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  193. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
  194. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  195. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
  196. package/artifacts/contracts/type/Fee.sol/FeeLib.json +7 -2
  197. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
  198. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
  199. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  200. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  201. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
  202. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
  203. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
  204. package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
  205. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
  206. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
  207. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
  208. package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
  209. package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
  210. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
  211. package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
  212. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
  213. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
  214. package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
  215. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
  216. package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +39 -2
  217. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
  218. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
  219. package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
  220. package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  221. package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  222. package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
  223. package/contracts/distribution/BasicDistributionAuthorization.sol +2 -1
  224. package/contracts/distribution/Distribution.sol +18 -1
  225. package/contracts/distribution/DistributionService.sol +59 -10
  226. package/contracts/distribution/IDistributionComponent.sol +6 -1
  227. package/contracts/distribution/IDistributionService.sol +12 -0
  228. package/contracts/instance/InstanceStore.sol +2 -1
  229. package/contracts/instance/module/IBundle.sol +1 -0
  230. package/contracts/instance/module/IDistribution.sol +0 -1
  231. package/contracts/pool/BasicPoolAuthorization.sol +3 -0
  232. package/contracts/pool/BundleService.sol +125 -4
  233. package/contracts/pool/IBundleService.sol +24 -3
  234. package/contracts/pool/IPoolComponent.sol +7 -0
  235. package/contracts/pool/IPoolService.sol +5 -3
  236. package/contracts/pool/Pool.sol +24 -3
  237. package/contracts/pool/PoolService.sol +103 -3
  238. package/contracts/product/ClaimService.sol +2 -1
  239. package/contracts/product/PolicyService.sol +1 -0
  240. package/contracts/shared/Component.sol +6 -0
  241. package/contracts/shared/ComponentService.sol +32 -3
  242. package/contracts/shared/IComponentService.sol +5 -9
  243. package/contracts/staking/Staking.sol +3 -1
  244. package/contracts/type/Amount.sol +12 -5
  245. package/contracts/type/Referral.sol +1 -0
  246. package/contracts/type/UFixed.sol +29 -10
  247. package/package.json +1 -1
@@ -14,6 +14,11 @@
14
14
  "name": "ErrorAmountLibValueTooBig",
15
15
  "type": "error"
16
16
  },
17
+ {
18
+ "inputs": [],
19
+ "name": "MathLigMulDivOverflow",
20
+ "type": "error"
21
+ },
17
22
  {
18
23
  "inputs": [
19
24
  {
@@ -105,6 +110,30 @@
105
110
  "stateMutability": "pure",
106
111
  "type": "function"
107
112
  },
113
+ {
114
+ "inputs": [
115
+ {
116
+ "internalType": "Amount",
117
+ "name": "a1",
118
+ "type": "uint96"
119
+ },
120
+ {
121
+ "internalType": "Amount",
122
+ "name": "a2",
123
+ "type": "uint96"
124
+ }
125
+ ],
126
+ "name": "gte",
127
+ "outputs": [
128
+ {
129
+ "internalType": "bool",
130
+ "name": "",
131
+ "type": "bool"
132
+ }
133
+ ],
134
+ "stateMutability": "pure",
135
+ "type": "function"
136
+ },
108
137
  {
109
138
  "inputs": [
110
139
  {
@@ -304,22 +333,22 @@
304
333
  "type": "function"
305
334
  }
306
335
  ],
307
- "bytecode": "0x6106aa610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100f0575f3560e01c80635869dfca1161009357806398058c4c1161006e57806398058c4c146101ff578063bc1b392d1461021e578063c4cade9d14610224578063c79eaa2214610243575f80fd5b80635869dfca146101cc5780636ac5db19146101df5780637931c811146101ec575f80fd5b806330b8415f116100ce57806330b8415f1461016f5780634c41dd961461018b57806352694ee81461019e57806355205f0f146101b9575f80fd5b806308dc895e146100f457806309a81d6214610121578063274acb3514610144575b5f80fd5b61010e61010236600461056e565b6001600160601b031690565b6040519081526020015b60405180910390f35b61013461012f366004610587565b610256565b6040519015158152602001610118565b610157610152366004610587565b61026c565b6040516001600160601b039091168152602001610118565b61013461017d36600461056e565b6001600160601b0316151590565b6101576101993660046105b8565b61027e565b6101346101ac36600461056e565b6001600160601b03161590565b61010e6101c736600461056e565b6102b3565b6101576101da3660046105cf565b61032f565b6001600160601b03610157565b6101576101fa366004610587565b61042d565b61013461020d366004610587565b6001600160601b0390811691161190565b5f610157565b610134610232366004610587565b6001600160601b0390811691161490565b610157610251366004610587565b610455565b6001600160601b03808216908316105b92915050565b5f610277828461060b565b9392505050565b5f6001600160601b038211156102af57604051635a1bd76760e01b8152600481018390526024015b60405180910390fd5b5090565b6040516322f5db0f60e11b81526001600160601b03821660048201525f9073__$bf7bc340cbb9229ef1de2c568356e67902$__906345ebb61e90602401602060405180830381865af415801561030b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610266919061062a565b6040516322f5db0f60e11b81526001600160601b03831660048201525f90610277906103ba90849073__$bf7bc340cbb9229ef1de2c568356e67902$__906345ebb61e90602401602060405180830381865af4158015610391573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b5919061062a565b610460565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015610409573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610199919061062a565b5f816001600160601b0316836001600160601b0316101561044f575081610266565b50919050565b5f6102778284610641565b5f6102778383670de0b6b3a76400005f80805f19858709858702925082811083820303915050805f036104a65783828161049c5761049c610660565b0492505050610277565b8084116104ed5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016102a6565b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b80356001600160601b0381168114610569575f80fd5b919050565b5f6020828403121561057e575f80fd5b61027782610553565b5f8060408385031215610598575f80fd5b6105a183610553565b91506105af60208401610553565b90509250929050565b5f602082840312156105c8575f80fd5b5035919050565b5f80604083850312156105e0575f80fd5b6105e983610553565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160601b038181168382160190811115610266576102666105f7565b5f6020828403121561063a575f80fd5b5051919050565b6001600160601b038281168282160390811115610266576102666105f7565b634e487b7160e01b5f52601260045260245ffdfea264697066735822122045802a900f537d85ea52eadd4b561287f03f1d4b38c88f0c2c4e3034f2f0bd9564736f6c634300081a0033",
308
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100f0575f3560e01c80635869dfca1161009357806398058c4c1161006e57806398058c4c146101ff578063bc1b392d1461021e578063c4cade9d14610224578063c79eaa2214610243575f80fd5b80635869dfca146101cc5780636ac5db19146101df5780637931c811146101ec575f80fd5b806330b8415f116100ce57806330b8415f1461016f5780634c41dd961461018b57806352694ee81461019e57806355205f0f146101b9575f80fd5b806308dc895e146100f457806309a81d6214610121578063274acb3514610144575b5f80fd5b61010e61010236600461056e565b6001600160601b031690565b6040519081526020015b60405180910390f35b61013461012f366004610587565b610256565b6040519015158152602001610118565b610157610152366004610587565b61026c565b6040516001600160601b039091168152602001610118565b61013461017d36600461056e565b6001600160601b0316151590565b6101576101993660046105b8565b61027e565b6101346101ac36600461056e565b6001600160601b03161590565b61010e6101c736600461056e565b6102b3565b6101576101da3660046105cf565b61032f565b6001600160601b03610157565b6101576101fa366004610587565b61042d565b61013461020d366004610587565b6001600160601b0390811691161190565b5f610157565b610134610232366004610587565b6001600160601b0390811691161490565b610157610251366004610587565b610455565b6001600160601b03808216908316105b92915050565b5f610277828461060b565b9392505050565b5f6001600160601b038211156102af57604051635a1bd76760e01b8152600481018390526024015b60405180910390fd5b5090565b6040516322f5db0f60e11b81526001600160601b03821660048201525f9073__$bf7bc340cbb9229ef1de2c568356e67902$__906345ebb61e90602401602060405180830381865af415801561030b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610266919061062a565b6040516322f5db0f60e11b81526001600160601b03831660048201525f90610277906103ba90849073__$bf7bc340cbb9229ef1de2c568356e67902$__906345ebb61e90602401602060405180830381865af4158015610391573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b5919061062a565b610460565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015610409573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610199919061062a565b5f816001600160601b0316836001600160601b0316101561044f575081610266565b50919050565b5f6102778284610641565b5f6102778383670de0b6b3a76400005f80805f19858709858702925082811083820303915050805f036104a65783828161049c5761049c610660565b0492505050610277565b8084116104ed5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b60448201526064016102a6565b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b80356001600160601b0381168114610569575f80fd5b919050565b5f6020828403121561057e575f80fd5b61027782610553565b5f8060408385031215610598575f80fd5b6105a183610553565b91506105af60208401610553565b90509250929050565b5f602082840312156105c8575f80fd5b5035919050565b5f80604083850312156105e0575f80fd5b6105e983610553565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160601b038181168382160190811115610266576102666105f7565b5f6020828403121561063a575f80fd5b5051919050565b6001600160601b038281168282160390811115610266576102666105f7565b634e487b7160e01b5f52601260045260245ffdfea264697066735822122045802a900f537d85ea52eadd4b561287f03f1d4b38c88f0c2c4e3034f2f0bd9564736f6c634300081a0033",
336
+ "bytecode": "0x6106ac610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100fb575f3560e01c806355205f0f1161009e57806398058c4c1161006e57806398058c4c1461022a578063bc1b392d14610249578063c4cade9d1461024f578063c79eaa221461026e575f80fd5b806355205f0f146101e45780635869dfca146101f75780636ac5db191461020a5780637931c81114610217575f80fd5b8063274acb35116100d9578063274acb351461016f57806330b8415f1461019a5780634c41dd96146101b657806352694ee8146101c9575f80fd5b806308dc895e146100ff57806309a81d621461012c578063262b32d21461014f575b5f80fd5b61011961010d366004610570565b6001600160601b031690565b6040519081526020015b60405180910390f35b61013f61013a366004610589565b610281565b6040519015158152602001610123565b61013f61015d366004610589565b6001600160601b039081169116101590565b61018261017d366004610589565b610297565b6040516001600160601b039091168152602001610123565b61013f6101a8366004610570565b6001600160601b0316151590565b6101826101c43660046105ba565b6102a9565b61013f6101d7366004610570565b6001600160601b03161590565b6101196101f2366004610570565b6102dd565b6101826102053660046105d1565b610359565b6001600160601b03610182565b610182610225366004610589565b610457565b61013f610238366004610589565b6001600160601b0390811691161190565b5f610182565b61013f61025d366004610589565b6001600160601b0390811691161490565b61018261027c366004610589565b61047f565b6001600160601b03808216908316105b92915050565b5f6102a2828461060d565b9392505050565b5f6001600160601b038211156102d957604051635a1bd76760e01b81526004810183905260240160405180910390fd5b5090565b6040516322f5db0f60e11b81526001600160601b03821660048201525f9073__$bf7bc340cbb9229ef1de2c568356e67902$__906345ebb61e90602401602060405180830381865af4158015610335573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610291919061062c565b6040516322f5db0f60e11b81526001600160601b03831660048201525f906102a2906103e490849073__$bf7bc340cbb9229ef1de2c568356e67902$__906345ebb61e90602401602060405180830381865af41580156103bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103df919061062c565b61048a565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015610433573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c4919061062c565b5f816001600160601b0316836001600160601b03161015610479575081610291565b50919050565b5f6102a28284610643565b5f6102a28383670de0b6b3a76400005f80805f19858709858702925082811083820303915050805f036104d0578382816104c6576104c6610662565b04925050506102a2565b8084116104ef57604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b80356001600160601b038116811461056b575f80fd5b919050565b5f60208284031215610580575f80fd5b6102a282610555565b5f806040838503121561059a575f80fd5b6105a383610555565b91506105b160208401610555565b90509250929050565b5f602082840312156105ca575f80fd5b5035919050565b5f80604083850312156105e2575f80fd5b6105eb83610555565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160601b038181168382160190811115610291576102916105f9565b5f6020828403121561063c575f80fd5b5051919050565b6001600160601b038281168282160390811115610291576102916105f9565b634e487b7160e01b5f52601260045260245ffdfea264697066735822122013765204b0b341e5f899c19c579dc5f273e4df7c20bc624cd8e865431bddce3764736f6c634300081a0033",
337
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100fb575f3560e01c806355205f0f1161009e57806398058c4c1161006e57806398058c4c1461022a578063bc1b392d14610249578063c4cade9d1461024f578063c79eaa221461026e575f80fd5b806355205f0f146101e45780635869dfca146101f75780636ac5db191461020a5780637931c81114610217575f80fd5b8063274acb35116100d9578063274acb351461016f57806330b8415f1461019a5780634c41dd96146101b657806352694ee8146101c9575f80fd5b806308dc895e146100ff57806309a81d621461012c578063262b32d21461014f575b5f80fd5b61011961010d366004610570565b6001600160601b031690565b6040519081526020015b60405180910390f35b61013f61013a366004610589565b610281565b6040519015158152602001610123565b61013f61015d366004610589565b6001600160601b039081169116101590565b61018261017d366004610589565b610297565b6040516001600160601b039091168152602001610123565b61013f6101a8366004610570565b6001600160601b0316151590565b6101826101c43660046105ba565b6102a9565b61013f6101d7366004610570565b6001600160601b03161590565b6101196101f2366004610570565b6102dd565b6101826102053660046105d1565b610359565b6001600160601b03610182565b610182610225366004610589565b610457565b61013f610238366004610589565b6001600160601b0390811691161190565b5f610182565b61013f61025d366004610589565b6001600160601b0390811691161490565b61018261027c366004610589565b61047f565b6001600160601b03808216908316105b92915050565b5f6102a2828461060d565b9392505050565b5f6001600160601b038211156102d957604051635a1bd76760e01b81526004810183905260240160405180910390fd5b5090565b6040516322f5db0f60e11b81526001600160601b03821660048201525f9073__$bf7bc340cbb9229ef1de2c568356e67902$__906345ebb61e90602401602060405180830381865af4158015610335573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610291919061062c565b6040516322f5db0f60e11b81526001600160601b03831660048201525f906102a2906103e490849073__$bf7bc340cbb9229ef1de2c568356e67902$__906345ebb61e90602401602060405180830381865af41580156103bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103df919061062c565b61048a565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015610433573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c4919061062c565b5f816001600160601b0316836001600160601b03161015610479575081610291565b50919050565b5f6102a28284610643565b5f6102a28383670de0b6b3a76400005f80805f19858709858702925082811083820303915050805f036104d0578382816104c6576104c6610662565b04925050506102a2565b8084116104ef57604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b80356001600160601b038116811461056b575f80fd5b919050565b5f60208284031215610580575f80fd5b6102a282610555565b5f806040838503121561059a575f80fd5b6105a383610555565b91506105b160208401610555565b90509250929050565b5f602082840312156105ca575f80fd5b5035919050565b5f80604083850312156105e2575f80fd5b6105eb83610555565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160601b038181168382160190811115610291576102916105f9565b5f6020828403121561063c575f80fd5b5051919050565b6001600160601b038281168282160390811115610291576102916105f9565b634e487b7160e01b5f52601260045260245ffdfea264697066735822122013765204b0b341e5f899c19c579dc5f273e4df7c20bc624cd8e865431bddce3764736f6c634300081a0033",
309
338
  "linkReferences": {
310
339
  "contracts/type/UFixed.sol": {
311
340
  "UFixedLib": [
312
341
  {
313
342
  "length": 20,
314
- "start": 775
343
+ "start": 817
315
344
  },
316
345
  {
317
346
  "length": 20,
318
- "start": 909
347
+ "start": 951
319
348
  },
320
349
  {
321
350
  "length": 20,
322
- "start": 1029
351
+ "start": 1071
323
352
  }
324
353
  ]
325
354
  }
@@ -329,15 +358,15 @@
329
358
  "UFixedLib": [
330
359
  {
331
360
  "length": 20,
332
- "start": 723
361
+ "start": 765
333
362
  },
334
363
  {
335
364
  "length": 20,
336
- "start": 857
365
+ "start": 899
337
366
  },
338
367
  {
339
368
  "length": 20,
340
- "start": 977
369
+ "start": 1019
341
370
  }
342
371
  ]
343
372
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -3,6 +3,11 @@
3
3
  "contractName": "FeeLib",
4
4
  "sourceName": "contracts/type/Fee.sol",
5
5
  "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "MathLigMulDivOverflow",
9
+ "type": "error"
10
+ },
6
11
  {
7
12
  "inputs": [
8
13
  {
@@ -247,8 +252,8 @@
247
252
  "type": "function"
248
253
  }
249
254
  ],
250
- "bytecode": "0x610782610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610085575f3560e01c80639ed246ea116100635780639ed246ea146100f2578063bc1b392d14610125578063c7010dfa1461014e578063d0e149f714610181575f80fd5b806305deb8b7146100895780632b324dc0146100b15780635faa955b146100c4575b5f80fd5b61009c61009736600461060d565b610194565b60405190151581526020015b60405180910390f35b61009c6100bf366004610627565b6101ae565b6100d76100d236600461065a565b6101ce565b604080518251815260209283015192810192909252016100a8565b610105610100366004610691565b610273565b604080516001600160601b039384168152929091166020830152016100a8565b6040805180820182525f80825260209182018190528251808401909352808352908201526100d7565b6100d761015c3660046106c7565b6040805180820182525f80825260209182015281518083019092529281529182015290565b61009c61018f36600461060d565b61041f565b80515f901515806101a857505f8260200151115b92915050565b5f816020015183602001511480156101c7575082518251145b9392505050565b6040805180820182525f8082526020820152815180830192839052631488c84560e01b90925260ff831660448301526001196064830152908073__$bf7bc340cbb9229ef1de2c568356e67902$__631488c84560848301602060405180830381865af4158015610240573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026491906106e7565b81525f60209091015292915050565b5f8161027e84610194565b15610418576040516355205f0f60e01b81526001600160601b03841660048201525f9061030a9073__$3bac17678db7ae928afa209f2f44deec9c$__906355205f0f90602401602060405180830381865af41580156102df573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030391906106e7565b8651610434565b6020860151604051632255341b60e11b81526004810183905291925073__$3bac17678db7ae928afa209f2f44deec9c$__91634c41dd96919073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af415801561037d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a191906106e7565b6103ab91906106fe565b6040518263ffffffff1660e01b81526004016103c991815260200190565b602060405180830381865af41580156103e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610408919061071d565b92506104148284610448565b9150505b9250929050565b5f81602001515f1480156101a8575050511590565b5f6101c78383670de0b6b3a76400006104cc565b6040516363cf551160e11b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063c79eaa2290604401602060405180830381865af41580156104a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c7919061071d565b5f80805f19858709858702925082811083820303915050805f03610503578382816104f9576104f9610738565b04925050506101c7565b80841161054e5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b604482015260640160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f604082840312156105c4575f80fd5b6040516040810181811067ffffffffffffffff821117156105f357634e487b7160e01b5f52604160045260245ffd5b604052823581526020928301359281019290925250919050565b5f6040828403121561061d575f80fd5b6101c783836105b4565b5f8060808385031215610638575f80fd5b61064284846105b4565b915061065184604085016105b4565b90509250929050565b5f6020828403121561066a575f80fd5b813560ff811681146101c7575f80fd5b6001600160601b038116811461068e575f80fd5b50565b5f80606083850312156106a2575f80fd5b6106ac84846105b4565b915060408301356106bc8161067a565b809150509250929050565b5f80604083850312156106d8575f80fd5b50508035926020909101359150565b5f602082840312156106f7575f80fd5b5051919050565b808201808211156101a857634e487b7160e01b5f52601160045260245ffd5b5f6020828403121561072d575f80fd5b81516101c78161067a565b634e487b7160e01b5f52601260045260245ffdfea26469706673582212209160b6ffcb1c6e6248675ac594249940167722e0193b67f6692961052f6ec2a664736f6c634300081a0033",
251
- "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610085575f3560e01c80639ed246ea116100635780639ed246ea146100f2578063bc1b392d14610125578063c7010dfa1461014e578063d0e149f714610181575f80fd5b806305deb8b7146100895780632b324dc0146100b15780635faa955b146100c4575b5f80fd5b61009c61009736600461060d565b610194565b60405190151581526020015b60405180910390f35b61009c6100bf366004610627565b6101ae565b6100d76100d236600461065a565b6101ce565b604080518251815260209283015192810192909252016100a8565b610105610100366004610691565b610273565b604080516001600160601b039384168152929091166020830152016100a8565b6040805180820182525f80825260209182018190528251808401909352808352908201526100d7565b6100d761015c3660046106c7565b6040805180820182525f80825260209182015281518083019092529281529182015290565b61009c61018f36600461060d565b61041f565b80515f901515806101a857505f8260200151115b92915050565b5f816020015183602001511480156101c7575082518251145b9392505050565b6040805180820182525f8082526020820152815180830192839052631488c84560e01b90925260ff831660448301526001196064830152908073__$bf7bc340cbb9229ef1de2c568356e67902$__631488c84560848301602060405180830381865af4158015610240573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026491906106e7565b81525f60209091015292915050565b5f8161027e84610194565b15610418576040516355205f0f60e01b81526001600160601b03841660048201525f9061030a9073__$3bac17678db7ae928afa209f2f44deec9c$__906355205f0f90602401602060405180830381865af41580156102df573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030391906106e7565b8651610434565b6020860151604051632255341b60e11b81526004810183905291925073__$3bac17678db7ae928afa209f2f44deec9c$__91634c41dd96919073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af415801561037d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a191906106e7565b6103ab91906106fe565b6040518263ffffffff1660e01b81526004016103c991815260200190565b602060405180830381865af41580156103e4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610408919061071d565b92506104148284610448565b9150505b9250929050565b5f81602001515f1480156101a8575050511590565b5f6101c78383670de0b6b3a76400006104cc565b6040516363cf551160e11b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063c79eaa2290604401602060405180830381865af41580156104a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c7919061071d565b5f80805f19858709858702925082811083820303915050805f03610503578382816104f9576104f9610738565b04925050506101c7565b80841161054e5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b604482015260640160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f604082840312156105c4575f80fd5b6040516040810181811067ffffffffffffffff821117156105f357634e487b7160e01b5f52604160045260245ffd5b604052823581526020928301359281019290925250919050565b5f6040828403121561061d575f80fd5b6101c783836105b4565b5f8060808385031215610638575f80fd5b61064284846105b4565b915061065184604085016105b4565b90509250929050565b5f6020828403121561066a575f80fd5b813560ff811681146101c7575f80fd5b6001600160601b038116811461068e575f80fd5b50565b5f80606083850312156106a2575f80fd5b6106ac84846105b4565b915060408301356106bc8161067a565b809150509250929050565b5f80604083850312156106d8575f80fd5b50508035926020909101359150565b5f602082840312156106f7575f80fd5b5051919050565b808201808211156101a857634e487b7160e01b5f52601160045260245ffd5b5f6020828403121561072d575f80fd5b81516101c78161067a565b634e487b7160e01b5f52601260045260245ffdfea26469706673582212209160b6ffcb1c6e6248675ac594249940167722e0193b67f6692961052f6ec2a664736f6c634300081a0033",
255
+ "bytecode": "0x610756610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610085575f3560e01c80639ed246ea116100635780639ed246ea146100f2578063bc1b392d14610125578063c7010dfa1461014e578063d0e149f714610181575f80fd5b806305deb8b7146100895780632b324dc0146100b15780635faa955b146100c4575b5f80fd5b61009c6100973660046105e1565b610194565b60405190151581526020015b60405180910390f35b61009c6100bf3660046105fb565b6101ae565b6100d76100d236600461062e565b6101ce565b604080518251815260209283015192810192909252016100a8565b610105610100366004610665565b610273565b604080516001600160601b039384168152929091166020830152016100a8565b6040805180820182525f80825260209182018190528251808401909352808352908201526100d7565b6100d761015c36600461069b565b6040805180820182525f80825260209182015281518083019092529281529182015290565b61009c61018f3660046105e1565b61041f565b80515f901515806101a857505f8260200151115b92915050565b5f816020015183602001511480156101c7575082518251145b9392505050565b6040805180820182525f8082526020820152815180830192839052631488c84560e01b90925260ff831660448301526001196064830152908073__$bf7bc340cbb9229ef1de2c568356e67902$__631488c84560848301602060405180830381865af4158015610240573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026491906106bb565b81525f60209091015292915050565b5f8161027e84610194565b15610418576040516355205f0f60e01b81526001600160601b03841660048201525f9061030a9073__$3bac17678db7ae928afa209f2f44deec9c$__906355205f0f90602401602060405180830381865af41580156102df573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030391906106bb565b8651610434565b6020860151604051632255341b60e11b81526004810183905291925073__$3bac17678db7ae928afa209f2f44deec9c$__91634c41dd96919073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af415801561037d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a191906106bb565b6103ab91906106d2565b6040518263ffffffff1660e01b81526004016103c991815260200190565b602060405180830381865af41580156103e4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040891906106f1565b92506104148284610448565b9150505b9250929050565b5f81602001515f1480156101a8575050511590565b5f6101c78383670de0b6b3a76400006104cc565b6040516363cf551160e11b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063c79eaa2290604401602060405180830381865af41580156104a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c791906106f1565b5f80805f19858709858702925082811083820303915050805f03610503578382816104f9576104f961070c565b04925050506101c7565b80841161052257604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f60408284031215610598575f80fd5b6040516040810181811067ffffffffffffffff821117156105c757634e487b7160e01b5f52604160045260245ffd5b604052823581526020928301359281019290925250919050565b5f604082840312156105f1575f80fd5b6101c78383610588565b5f806080838503121561060c575f80fd5b6106168484610588565b91506106258460408501610588565b90509250929050565b5f6020828403121561063e575f80fd5b813560ff811681146101c7575f80fd5b6001600160601b0381168114610662575f80fd5b50565b5f8060608385031215610676575f80fd5b6106808484610588565b915060408301356106908161064e565b809150509250929050565b5f80604083850312156106ac575f80fd5b50508035926020909101359150565b5f602082840312156106cb575f80fd5b5051919050565b808201808211156101a857634e487b7160e01b5f52601160045260245ffd5b5f60208284031215610701575f80fd5b81516101c78161064e565b634e487b7160e01b5f52601260045260245ffdfea2646970667358221220b92eab848363bc2ea2900ce95ee90acb94d6435185724a8959997a93ef654cbd64736f6c634300081a0033",
256
+ "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610085575f3560e01c80639ed246ea116100635780639ed246ea146100f2578063bc1b392d14610125578063c7010dfa1461014e578063d0e149f714610181575f80fd5b806305deb8b7146100895780632b324dc0146100b15780635faa955b146100c4575b5f80fd5b61009c6100973660046105e1565b610194565b60405190151581526020015b60405180910390f35b61009c6100bf3660046105fb565b6101ae565b6100d76100d236600461062e565b6101ce565b604080518251815260209283015192810192909252016100a8565b610105610100366004610665565b610273565b604080516001600160601b039384168152929091166020830152016100a8565b6040805180820182525f80825260209182018190528251808401909352808352908201526100d7565b6100d761015c36600461069b565b6040805180820182525f80825260209182015281518083019092529281529182015290565b61009c61018f3660046105e1565b61041f565b80515f901515806101a857505f8260200151115b92915050565b5f816020015183602001511480156101c7575082518251145b9392505050565b6040805180820182525f8082526020820152815180830192839052631488c84560e01b90925260ff831660448301526001196064830152908073__$bf7bc340cbb9229ef1de2c568356e67902$__631488c84560848301602060405180830381865af4158015610240573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026491906106bb565b81525f60209091015292915050565b5f8161027e84610194565b15610418576040516355205f0f60e01b81526001600160601b03841660048201525f9061030a9073__$3bac17678db7ae928afa209f2f44deec9c$__906355205f0f90602401602060405180830381865af41580156102df573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030391906106bb565b8651610434565b6020860151604051632255341b60e11b81526004810183905291925073__$3bac17678db7ae928afa209f2f44deec9c$__91634c41dd96919073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af415801561037d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a191906106bb565b6103ab91906106d2565b6040518263ffffffff1660e01b81526004016103c991815260200190565b602060405180830381865af41580156103e4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040891906106f1565b92506104148284610448565b9150505b9250929050565b5f81602001515f1480156101a8575050511590565b5f6101c78383670de0b6b3a76400006104cc565b6040516363cf551160e11b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063c79eaa2290604401602060405180830381865af41580156104a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c791906106f1565b5f80805f19858709858702925082811083820303915050805f03610503578382816104f9576104f961070c565b04925050506101c7565b80841161052257604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f60408284031215610598575f80fd5b6040516040810181811067ffffffffffffffff821117156105c757634e487b7160e01b5f52604160045260245ffd5b604052823581526020928301359281019290925250919050565b5f604082840312156105f1575f80fd5b6101c78383610588565b5f806080838503121561060c575f80fd5b6106168484610588565b91506106258460408501610588565b90509250929050565b5f6020828403121561063e575f80fd5b813560ff811681146101c7575f80fd5b6001600160601b0381168114610662575f80fd5b50565b5f8060608385031215610676575f80fd5b6106808484610588565b915060408301356106908161064e565b809150509250929050565b5f80604083850312156106ac575f80fd5b50508035926020909101359150565b5f602082840312156106cb575f80fd5b5051919050565b808201808211156101a857634e487b7160e01b5f52601160045260245ffd5b5f60208284031215610701575f80fd5b81516101c78161064e565b634e487b7160e01b5f52601260045260245ffdfea2646970667358221220b92eab848363bc2ea2900ce95ee90acb94d6435185724a8959997a93ef654cbd64736f6c634300081a0033",
252
257
  "linkReferences": {
253
258
  "contracts/type/Amount.sol": {
254
259
  "AmountLib": [
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -117,8 +117,8 @@
117
117
  "type": "function"
118
118
  }
119
119
  ],
120
- "bytecode": "0x6103e0610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c80632cf96bf91461006f5780633f093cd6146100a257806355ee6275146100ce5780637bc32ecf146100ef578063a420c7871461011f578063bc1b392d14610142575b5f80fd5b61008a61007d366004610211565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100b56100b0366004610253565b610148565b6040516001600160c01b03199091168152602001610099565b6100e16100dc366004610211565b61017a565b604051908152602001610099565b61010f6100fd366004610211565b5f6001600160c01b031982161561020b565b6040519015158152602001610099565b61013061012d366004610329565b90565b60405160ff9091168152602001610099565b5f6100b5565b5f828260405160200161015c929190610349565b60405160208183030381529060405280519060200120905092915050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce601d6001600160c01b031985166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020b9190610393565b92915050565b5f60208284031215610221575f80fd5b81356001600160c01b031981168114610238575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610264575f80fd5b82356bffffffffffffffffffffffff8116811461027f575f80fd5b9150602083013567ffffffffffffffff81111561029a575f80fd5b8301601f810185136102aa575f80fd5b803567ffffffffffffffff8111156102c4576102c461023f565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156102f3576102f361023f565b60405281815282820160200187101561030a575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f60208284031215610339575f80fd5b813560ff81168114610238575f80fd5b6bffffffffffffffffffffffff83168152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b5f602082840312156103a3575f80fd5b505191905056fea264697066735822122059e869486cfecc0ce829d52fbb7b30b0e7ffa2f2bfa9bc239fdea30631be6faf64736f6c634300081a0033",
121
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c80632cf96bf91461006f5780633f093cd6146100a257806355ee6275146100ce5780637bc32ecf146100ef578063a420c7871461011f578063bc1b392d14610142575b5f80fd5b61008a61007d366004610211565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100b56100b0366004610253565b610148565b6040516001600160c01b03199091168152602001610099565b6100e16100dc366004610211565b61017a565b604051908152602001610099565b61010f6100fd366004610211565b5f6001600160c01b031982161561020b565b6040519015158152602001610099565b61013061012d366004610329565b90565b60405160ff9091168152602001610099565b5f6100b5565b5f828260405160200161015c929190610349565b60405160208183030381529060405280519060200120905092915050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce601d6001600160c01b031985166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020b9190610393565b92915050565b5f60208284031215610221575f80fd5b81356001600160c01b031981168114610238575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610264575f80fd5b82356bffffffffffffffffffffffff8116811461027f575f80fd5b9150602083013567ffffffffffffffff81111561029a575f80fd5b8301601f810185136102aa575f80fd5b803567ffffffffffffffff8111156102c4576102c461023f565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156102f3576102f361023f565b60405281815282820160200187101561030a575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f60208284031215610339575f80fd5b813560ff81168114610238575f80fd5b6bffffffffffffffffffffffff83168152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b5f602082840312156103a3575f80fd5b505191905056fea264697066735822122059e869486cfecc0ce829d52fbb7b30b0e7ffa2f2bfa9bc239fdea30631be6faf64736f6c634300081a0033",
120
+ "bytecode": "0x6103e0610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c80632cf96bf91461006f5780633f093cd6146100a257806355ee6275146100ce5780637bc32ecf146100ef578063a420c7871461011f578063bc1b392d14610142575b5f80fd5b61008a61007d366004610211565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100b56100b0366004610253565b610148565b6040516001600160c01b03199091168152602001610099565b6100e16100dc366004610211565b61017a565b604051908152602001610099565b61010f6100fd366004610211565b5f6001600160c01b031982161561020b565b6040519015158152602001610099565b61013061012d366004610329565b90565b60405160ff9091168152602001610099565b5f6100b5565b5f828260405160200161015c929190610349565b60405160208183030381529060405280519060200120905092915050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce601d6001600160c01b031985166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020b9190610393565b92915050565b5f60208284031215610221575f80fd5b81356001600160c01b031981168114610238575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610264575f80fd5b82356bffffffffffffffffffffffff8116811461027f575f80fd5b9150602083013567ffffffffffffffff81111561029a575f80fd5b8301601f810185136102aa575f80fd5b803567ffffffffffffffff8111156102c4576102c461023f565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156102f3576102f361023f565b60405281815282820160200187101561030a575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f60208284031215610339575f80fd5b813560ff81168114610238575f80fd5b6bffffffffffffffffffffffff83168152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b5f602082840312156103a3575f80fd5b505191905056fea2646970667358221220c767affb37b06ea14a0869186bef6fe1272ab4fabc3aa4455b51b267c2edd7cb64736f6c634300081a0033",
121
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c80632cf96bf91461006f5780633f093cd6146100a257806355ee6275146100ce5780637bc32ecf146100ef578063a420c7871461011f578063bc1b392d14610142575b5f80fd5b61008a61007d366004610211565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100b56100b0366004610253565b610148565b6040516001600160c01b03199091168152602001610099565b6100e16100dc366004610211565b61017a565b604051908152602001610099565b61010f6100fd366004610211565b5f6001600160c01b031982161561020b565b6040519015158152602001610099565b61013061012d366004610329565b90565b60405160ff9091168152602001610099565b5f6100b5565b5f828260405160200161015c929190610349565b60405160208183030381529060405280519060200120905092915050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce601d6001600160c01b031985166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020b9190610393565b92915050565b5f60208284031215610221575f80fd5b81356001600160c01b031981168114610238575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610264575f80fd5b82356bffffffffffffffffffffffff8116811461027f575f80fd5b9150602083013567ffffffffffffffff81111561029a575f80fd5b8301601f810185136102aa575f80fd5b803567ffffffffffffffff8111156102c4576102c461023f565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156102f3576102f361023f565b60405281815282820160200187101561030a575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f60208284031215610339575f80fd5b813560ff81168114610238575f80fd5b6bffffffffffffffffffffffff83168152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b5f602082840312156103a3575f80fd5b505191905056fea2646970667358221220c767affb37b06ea14a0869186bef6fe1272ab4fabc3aa4455b51b267c2edd7cb64736f6c634300081a0033",
122
122
  "linkReferences": {
123
123
  "contracts/type/Key32.sol": {
124
124
  "Key32Lib": [
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -2,9 +2,15 @@
2
2
  "_format": "hh-sol-artifact-1",
3
3
  "contractName": "MathLib",
4
4
  "sourceName": "contracts/type/UFixed.sol",
5
- "abi": [],
6
- "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202cc980bf0a430ee2301014388bd392a4e0ea428e49d43fae39937ef0e86afdc464736f6c634300081a0033",
7
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212202cc980bf0a430ee2301014388bd392a4e0ea428e49d43fae39937ef0e86afdc464736f6c634300081a0033",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "MathLigMulDivOverflow",
9
+ "type": "error"
10
+ }
11
+ ],
12
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220629048970b23464bc18bc1ab0a62b29b959e39ba69dbe3ba01a199f7c6ff738a64736f6c634300081a0033",
13
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220629048970b23464bc18bc1ab0a62b29b959e39ba69dbe3ba01a199f7c6ff738a64736f6c634300081a0033",
8
14
  "linkReferences": {},
9
15
  "deployedLinkReferences": {}
10
16
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -3,6 +3,43 @@
3
3
  "contractName": "UFixedLib",
4
4
  "sourceName": "contracts/type/UFixed.sol",
5
5
  "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "MathLigMulDivOverflow",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "UFixedLibDivisionByZero",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "int8",
20
+ "name": "exp",
21
+ "type": "int8"
22
+ }
23
+ ],
24
+ "name": "UFixedLibExponentTooLarge",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "int8",
31
+ "name": "exp",
32
+ "type": "int8"
33
+ }
34
+ ],
35
+ "name": "UFixedLibExponentTooSmall",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [],
40
+ "name": "UFixedLibNegativeResult",
41
+ "type": "error"
42
+ },
6
43
  {
7
44
  "inputs": [],
8
45
  "name": "EXP",
@@ -491,8 +528,8 @@
491
528
  "type": "function"
492
529
  }
493
530
  ],
494
- "bytecode": "0x610a38610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610178575f3560e01c80637a858b97116100e4578063b67d77c51161009e578063c8a4ac9c11610079578063c8a4ac9c146102fa578063cc8b7b731461030d578063ea6515c414610320578063eb646d7114610333575f80fd5b8063b67d77c5146102da578063bc1b392d146102ed578063bdbb4630146102f3575f80fd5b80637a858b971461027357806389fa8ed714610286578063916c5c571461029b57806393aa8725146102ae578063a391c15b146102b4578063b4773329146102c7575f80fd5b8063313ce56711610135578063313ce5671461020d57806332148d731461021457806344aa68361461022757806345ebb61e1461023a578063753b14a51461024d578063771602f714610260575f80fd5b8063059f8b161461017c57806308c76ec414610197578063118fc88c146101aa5780631488c845146101cd5780631a12cd47146101e057806321e5749b146101fa575b5f80fd5b61018461033b565b6040519081526020015b60405180910390f35b6101846101a53660046107bc565b61034a565b6101bd6101b83660046107ef565b6103d0565b604051901515815260200161018e565b6101846101db36600461080f565b6103dc565b6101e8601281565b6040515f9190910b815260200161018e565b6101bd6102083660046107ef565b6104bb565b6012610184565b6101bd6102223660046107ef565b6104c4565b610184610235366004610837565b6104cd565b610184610248366004610837565b6104d9565b6101bd61025b366004610837565b6104f0565b61018461026e3660046107ef565b6104f8565b6101bd610281366004610837565b610503565b60025b60405160ff909116815260200161018e565b6101846102a9366004610837565b61050c565b5f610289565b6101846102c23660046107ef565b61052b565b6101bd6102d53660046107ef565b610536565b6101846102e83660046107ef565b610540565b5f610184565b6001610289565b6101846103083660046107ef565b61054b565b61018461031b3660046107ef565b610556565b6101bd61032e3660046107ef565b610561565b61018461056b565b6103476012600a610945565b81565b5f60011960ff8316016103975761039060026103686012600a610945565b6103729190610964565b61037c9085610983565b600161038a6012600a610945565b5f610583565b90506103ca565b60ff82166103b15761039083600161038a6012600a610945565b6103908360016103c36012600a610945565b6001610583565b92915050565b5f8282115b9392505050565b5f806103e9836012610996565b5f0b121561043e5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c0060448201526064015b60405180910390fd5b604061044b836012610996565b5f0b131561049b5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c41524745006044820152606401610435565b6104a6826012610996565b6104b190600a6109b6565b6103d590846109c4565b5f8282106103d5565b5f8183146103d5565b5f6103ca82600261034a565b5f6104e66012600a610945565b6103ca90836109c4565b5f81156103ca565b5f6103d583836105de565b5f8115156103ca565b5f6103ca61052461051e6103e86104d9565b846105e9565b600261034a565b5f6103d583836105fd565b5f828211156103d5565b5f6103d58383610660565b5f6103d583836105e9565b5f6103d583836106bb565b5f828210156103d5565b60026105796012600a610945565b6103479190610964565b5f806105908686866106d8565b905060018360028111156105a6576105a66109db565b1480156105c257505f84806105bd576105bd610950565b868809115b156105d5576105d2600182610983565b90505b95945050505050565b5f6103d58284610983565b5f6103d58383670de0b6b3a76400006106d8565b5f80821161064d5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a55464d2d3032303a44495649534f525f5a45524f0000000000006044820152606401610435565b6103d583670de0b6b3a7640000846106d8565b5f828211156106b15760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a55464d2d3031303a4e454741544956455f524553554c540000006044820152606401610435565b6103d582846109ef565b5f828210156106ce576103908383610660565b6103d58284610660565b5f80805f19858709858702925082811083820303915050805f0361070f5783828161070557610705610950565b04925050506103d5565b8084116107565760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610435565b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f80604083850312156107cd575f80fd5b82359150602083013560ff811681146107e4575f80fd5b809150509250929050565b5f8060408385031215610800575f80fd5b50508035926020909101359150565b5f8060408385031215610820575f80fd5b8235915060208301355f81900b81146107e4575f80fd5b5f60208284031215610847575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561089d578085048111156108815761088161084e565b600184161561088f57908102905b60019390931c928002610866565b935093915050565b5f826108b3575060016103ca565b816108bf57505f6103ca565b81600181146108d557600281146108df576108fb565b60019150506103ca565b60ff8411156108f0576108f061084e565b50506001821b6103ca565b5060208310610133831016604e8410600b841016171561091e575081810a6103ca565b61092a5f198484610862565b805f190482111561093d5761093d61084e565b029392505050565b5f6103d583836108a5565b634e487b7160e01b5f52601260045260245ffd5b5f8261097e57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103ca576103ca61084e565b5f81810b9083900b01607f8113607f19821217156103ca576103ca61084e565b5f6103d560ff8416836108a5565b80820281158282048414176103ca576103ca61084e565b634e487b7160e01b5f52602160045260245ffd5b818103818111156103ca576103ca61084e56fea264697066735822122095b47e326ba6c85a518c73b4494484fdcea7709161e78c343656c1cc40ea3cb764736f6c634300081a0033",
495
- "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610178575f3560e01c80637a858b97116100e4578063b67d77c51161009e578063c8a4ac9c11610079578063c8a4ac9c146102fa578063cc8b7b731461030d578063ea6515c414610320578063eb646d7114610333575f80fd5b8063b67d77c5146102da578063bc1b392d146102ed578063bdbb4630146102f3575f80fd5b80637a858b971461027357806389fa8ed714610286578063916c5c571461029b57806393aa8725146102ae578063a391c15b146102b4578063b4773329146102c7575f80fd5b8063313ce56711610135578063313ce5671461020d57806332148d731461021457806344aa68361461022757806345ebb61e1461023a578063753b14a51461024d578063771602f714610260575f80fd5b8063059f8b161461017c57806308c76ec414610197578063118fc88c146101aa5780631488c845146101cd5780631a12cd47146101e057806321e5749b146101fa575b5f80fd5b61018461033b565b6040519081526020015b60405180910390f35b6101846101a53660046107bc565b61034a565b6101bd6101b83660046107ef565b6103d0565b604051901515815260200161018e565b6101846101db36600461080f565b6103dc565b6101e8601281565b6040515f9190910b815260200161018e565b6101bd6102083660046107ef565b6104bb565b6012610184565b6101bd6102223660046107ef565b6104c4565b610184610235366004610837565b6104cd565b610184610248366004610837565b6104d9565b6101bd61025b366004610837565b6104f0565b61018461026e3660046107ef565b6104f8565b6101bd610281366004610837565b610503565b60025b60405160ff909116815260200161018e565b6101846102a9366004610837565b61050c565b5f610289565b6101846102c23660046107ef565b61052b565b6101bd6102d53660046107ef565b610536565b6101846102e83660046107ef565b610540565b5f610184565b6001610289565b6101846103083660046107ef565b61054b565b61018461031b3660046107ef565b610556565b6101bd61032e3660046107ef565b610561565b61018461056b565b6103476012600a610945565b81565b5f60011960ff8316016103975761039060026103686012600a610945565b6103729190610964565b61037c9085610983565b600161038a6012600a610945565b5f610583565b90506103ca565b60ff82166103b15761039083600161038a6012600a610945565b6103908360016103c36012600a610945565b6001610583565b92915050565b5f8282115b9392505050565b5f806103e9836012610996565b5f0b121561043e5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c0060448201526064015b60405180910390fd5b604061044b836012610996565b5f0b131561049b5760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c41524745006044820152606401610435565b6104a6826012610996565b6104b190600a6109b6565b6103d590846109c4565b5f8282106103d5565b5f8183146103d5565b5f6103ca82600261034a565b5f6104e66012600a610945565b6103ca90836109c4565b5f81156103ca565b5f6103d583836105de565b5f8115156103ca565b5f6103ca61052461051e6103e86104d9565b846105e9565b600261034a565b5f6103d583836105fd565b5f828211156103d5565b5f6103d58383610660565b5f6103d583836105e9565b5f6103d583836106bb565b5f828210156103d5565b60026105796012600a610945565b6103479190610964565b5f806105908686866106d8565b905060018360028111156105a6576105a66109db565b1480156105c257505f84806105bd576105bd610950565b868809115b156105d5576105d2600182610983565b90505b95945050505050565b5f6103d58284610983565b5f6103d58383670de0b6b3a76400006106d8565b5f80821161064d5760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a55464d2d3032303a44495649534f525f5a45524f0000000000006044820152606401610435565b6103d583670de0b6b3a7640000846106d8565b5f828211156106b15760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a55464d2d3031303a4e454741544956455f524553554c540000006044820152606401610435565b6103d582846109ef565b5f828210156106ce576103908383610660565b6103d58284610660565b5f80805f19858709858702925082811083820303915050805f0361070f5783828161070557610705610950565b04925050506103d5565b8084116107565760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610435565b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f80604083850312156107cd575f80fd5b82359150602083013560ff811681146107e4575f80fd5b809150509250929050565b5f8060408385031215610800575f80fd5b50508035926020909101359150565b5f8060408385031215610820575f80fd5b8235915060208301355f81900b81146107e4575f80fd5b5f60208284031215610847575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561089d578085048111156108815761088161084e565b600184161561088f57908102905b60019390931c928002610866565b935093915050565b5f826108b3575060016103ca565b816108bf57505f6103ca565b81600181146108d557600281146108df576108fb565b60019150506103ca565b60ff8411156108f0576108f061084e565b50506001821b6103ca565b5060208310610133831016604e8410600b841016171561091e575081810a6103ca565b61092a5f198484610862565b805f190482111561093d5761093d61084e565b029392505050565b5f6103d583836108a5565b634e487b7160e01b5f52601260045260245ffd5b5f8261097e57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103ca576103ca61084e565b5f81810b9083900b01607f8113607f19821217156103ca576103ca61084e565b5f6103d560ff8416836108a5565b80820281158282048414176103ca576103ca61084e565b634e487b7160e01b5f52602160045260245ffd5b818103818111156103ca576103ca61084e56fea264697066735822122095b47e326ba6c85a518c73b4494484fdcea7709161e78c343656c1cc40ea3cb764736f6c634300081a0033",
531
+ "bytecode": "0x61095e610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610178575f3560e01c80637a858b97116100e4578063b67d77c51161009e578063c8a4ac9c11610079578063c8a4ac9c146102fa578063cc8b7b731461030d578063ea6515c414610320578063eb646d7114610333575f80fd5b8063b67d77c5146102da578063bc1b392d146102ed578063bdbb4630146102f3575f80fd5b80637a858b971461027357806389fa8ed714610286578063916c5c571461029b57806393aa8725146102ae578063a391c15b146102b4578063b4773329146102c7575f80fd5b8063313ce56711610135578063313ce5671461020d57806332148d731461021457806344aa68361461022757806345ebb61e1461023a578063753b14a51461024d578063771602f714610260575f80fd5b8063059f8b161461017c57806308c76ec414610197578063118fc88c146101aa5780631488c845146101cd5780631a12cd47146101e057806321e5749b146101fa575b5f80fd5b61018461033b565b6040519081526020015b60405180910390f35b6101846101a53660046106e2565b61034a565b6101bd6101b8366004610715565b6103d0565b604051901515815260200161018e565b6101846101db366004610735565b6103dc565b6101e8601281565b6040515f9190910b815260200161018e565b6101bd610208366004610715565b610467565b6012610184565b6101bd610222366004610715565b610470565b61018461023536600461075d565b610479565b61018461024836600461075d565b610485565b6101bd61025b36600461075d565b61049c565b61018461026e366004610715565b6104a4565b6101bd61028136600461075d565b6104af565b60025b60405160ff909116815260200161018e565b6101846102a936600461075d565b6104b8565b5f610289565b6101846102c2366004610715565b6104d7565b6101bd6102d5366004610715565b6104e2565b6101846102e8366004610715565b6104ec565b5f610184565b6001610289565b610184610308366004610715565b6104f7565b61018461031b366004610715565b610502565b6101bd61032e366004610715565b61050d565b610184610517565b6103476012600a61086b565b81565b5f60011960ff8316016103975761039060026103686012600a61086b565b610372919061088a565b61037c90856108a9565b600161038a6012600a61086b565b5f61052f565b90506103ca565b60ff82166103b15761039083600161038a6012600a61086b565b6103908360016103c36012600a61086b565b600161052f565b92915050565b5f8282115b9392505050565b5f806103e98360126108bc565b5f0b121561041457604051633e49665b60e21b81525f83900b60048201526024015b60405180910390fd5b60406104218360126108bc565b5f0b13156104475760405163e39f5db560e01b81525f83900b600482015260240161040b565b6104528260126108bc565b61045d90600a6108dc565b6103d590846108ea565b5f8282106103d5565b5f8183146103d5565b5f6103ca82600261034a565b5f6104926012600a61086b565b6103ca90836108ea565b5f81156103ca565b5f6103d5838361058a565b5f8115156103ca565b5f6103ca6104d06104ca6103e8610485565b84610595565b600261034a565b5f6103d583836105a9565b5f828211156103d5565b5f6103d583836105dd565b5f6103d58383610595565b5f6103d58383610609565b5f828210156103d5565b60026105256012600a61086b565b610347919061088a565b5f8061053c868686610626565b9050600183600281111561055257610552610901565b14801561056e57505f848061056957610569610876565b868809115b156105815761057e6001826108a9565b90505b95945050505050565b5f6103d582846108a9565b5f6103d58383670de0b6b3a7640000610626565b5f815f036105ca57604051630f6c8fc360e21b815260040160405180910390fd5b6103d583670de0b6b3a764000084610626565b5f828211156105ff5760405163117efe6d60e31b815260040160405180910390fd5b6103d58284610915565b5f8282101561061c5761039083836105dd565b6103d582846105dd565b5f80805f19858709858702925082811083820303915050805f0361065d5783828161065357610653610876565b04925050506103d5565b80841161067c57604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f80604083850312156106f3575f80fd5b82359150602083013560ff8116811461070a575f80fd5b809150509250929050565b5f8060408385031215610726575f80fd5b50508035926020909101359150565b5f8060408385031215610746575f80fd5b8235915060208301355f81900b811461070a575f80fd5b5f6020828403121561076d575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156107c3578085048111156107a7576107a7610774565b60018416156107b557908102905b60019390931c92800261078c565b935093915050565b5f826107d9575060016103ca565b816107e557505f6103ca565b81600181146107fb576002811461080557610821565b60019150506103ca565b60ff84111561081657610816610774565b50506001821b6103ca565b5060208310610133831016604e8410600b8410161715610844575081810a6103ca565b6108505f198484610788565b805f190482111561086357610863610774565b029392505050565b5f6103d583836107cb565b634e487b7160e01b5f52601260045260245ffd5b5f826108a457634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103ca576103ca610774565b5f81810b9083900b01607f8113607f19821217156103ca576103ca610774565b5f6103d560ff8416836107cb565b80820281158282048414176103ca576103ca610774565b634e487b7160e01b5f52602160045260245ffd5b818103818111156103ca576103ca61077456fea26469706673582212203e4e2503f40cb4f921285a9376599632e104ff38976d428bdba7a78c8a4f296f64736f6c634300081a0033",
532
+ "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610178575f3560e01c80637a858b97116100e4578063b67d77c51161009e578063c8a4ac9c11610079578063c8a4ac9c146102fa578063cc8b7b731461030d578063ea6515c414610320578063eb646d7114610333575f80fd5b8063b67d77c5146102da578063bc1b392d146102ed578063bdbb4630146102f3575f80fd5b80637a858b971461027357806389fa8ed714610286578063916c5c571461029b57806393aa8725146102ae578063a391c15b146102b4578063b4773329146102c7575f80fd5b8063313ce56711610135578063313ce5671461020d57806332148d731461021457806344aa68361461022757806345ebb61e1461023a578063753b14a51461024d578063771602f714610260575f80fd5b8063059f8b161461017c57806308c76ec414610197578063118fc88c146101aa5780631488c845146101cd5780631a12cd47146101e057806321e5749b146101fa575b5f80fd5b61018461033b565b6040519081526020015b60405180910390f35b6101846101a53660046106e2565b61034a565b6101bd6101b8366004610715565b6103d0565b604051901515815260200161018e565b6101846101db366004610735565b6103dc565b6101e8601281565b6040515f9190910b815260200161018e565b6101bd610208366004610715565b610467565b6012610184565b6101bd610222366004610715565b610470565b61018461023536600461075d565b610479565b61018461024836600461075d565b610485565b6101bd61025b36600461075d565b61049c565b61018461026e366004610715565b6104a4565b6101bd61028136600461075d565b6104af565b60025b60405160ff909116815260200161018e565b6101846102a936600461075d565b6104b8565b5f610289565b6101846102c2366004610715565b6104d7565b6101bd6102d5366004610715565b6104e2565b6101846102e8366004610715565b6104ec565b5f610184565b6001610289565b610184610308366004610715565b6104f7565b61018461031b366004610715565b610502565b6101bd61032e366004610715565b61050d565b610184610517565b6103476012600a61086b565b81565b5f60011960ff8316016103975761039060026103686012600a61086b565b610372919061088a565b61037c90856108a9565b600161038a6012600a61086b565b5f61052f565b90506103ca565b60ff82166103b15761039083600161038a6012600a61086b565b6103908360016103c36012600a61086b565b600161052f565b92915050565b5f8282115b9392505050565b5f806103e98360126108bc565b5f0b121561041457604051633e49665b60e21b81525f83900b60048201526024015b60405180910390fd5b60406104218360126108bc565b5f0b13156104475760405163e39f5db560e01b81525f83900b600482015260240161040b565b6104528260126108bc565b61045d90600a6108dc565b6103d590846108ea565b5f8282106103d5565b5f8183146103d5565b5f6103ca82600261034a565b5f6104926012600a61086b565b6103ca90836108ea565b5f81156103ca565b5f6103d5838361058a565b5f8115156103ca565b5f6103ca6104d06104ca6103e8610485565b84610595565b600261034a565b5f6103d583836105a9565b5f828211156103d5565b5f6103d583836105dd565b5f6103d58383610595565b5f6103d58383610609565b5f828210156103d5565b60026105256012600a61086b565b610347919061088a565b5f8061053c868686610626565b9050600183600281111561055257610552610901565b14801561056e57505f848061056957610569610876565b868809115b156105815761057e6001826108a9565b90505b95945050505050565b5f6103d582846108a9565b5f6103d58383670de0b6b3a7640000610626565b5f815f036105ca57604051630f6c8fc360e21b815260040160405180910390fd5b6103d583670de0b6b3a764000084610626565b5f828211156105ff5760405163117efe6d60e31b815260040160405180910390fd5b6103d58284610915565b5f8282101561061c5761039083836105dd565b6103d582846105dd565b5f80805f19858709858702925082811083820303915050805f0361065d5783828161065357610653610876565b04925050506103d5565b80841161067c57604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f80604083850312156106f3575f80fd5b82359150602083013560ff8116811461070a575f80fd5b809150509250929050565b5f8060408385031215610726575f80fd5b50508035926020909101359150565b5f8060408385031215610746575f80fd5b8235915060208301355f81900b811461070a575f80fd5b5f6020828403121561076d575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156107c3578085048111156107a7576107a7610774565b60018416156107b557908102905b60019390931c92800261078c565b935093915050565b5f826107d9575060016103ca565b816107e557505f6103ca565b81600181146107fb576002811461080557610821565b60019150506103ca565b60ff84111561081657610816610774565b50506001821b6103ca565b5060208310610133831016604e8410600b8410161715610844575081810a6103ca565b6108505f198484610788565b805f190482111561086357610863610774565b029392505050565b5f6103d583836107cb565b634e487b7160e01b5f52601260045260245ffd5b5f826108a457634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103ca576103ca610774565b5f81810b9083900b01607f8113607f19821217156103ca576103ca610774565b5f6103d560ff8416836107cb565b80820281158282048414176103ca576103ca610774565b634e487b7160e01b5f52602160045260245ffd5b818103818111156103ca576103ca61077456fea26469706673582212203e4e2503f40cb4f921285a9376599632e104ff38976d428bdba7a78c8a4f296f64736f6c634300081a0033",
496
533
  "linkReferences": {},
497
534
  "deployedLinkReferences": {}
498
535
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/42b837ae2eb6643d99d8e8b4ec6e9c78.json"
3
+ "buildInfo": "../../../build-info/5a2e23687bdd49d1c1ad6e92344d8dd5.json"
4
4
  }
@@ -3,11 +3,11 @@ pragma solidity ^0.8.20;
3
3
 
4
4
  import {Authorization} from "../authorization/Authorization.sol";
5
5
  import {BasicDistribution} from "./BasicDistribution.sol";
6
+ import {Distribution} from "./Distribution.sol";
6
7
  import {DISTRIBUTION} from "../type/ObjectType.sol";
7
8
  import {IAccess} from "../authorization/IAccess.sol";
8
9
  import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
9
10
  import {PUBLIC_ROLE} from "../../contracts/type/RoleId.sol";
10
- import {RoleId} from "../type/RoleId.sol";
11
11
 
12
12
 
13
13
  contract BasicDistributionAuthorization
@@ -41,6 +41,7 @@ contract BasicDistributionAuthorization
41
41
  _authorize(functions, BasicDistribution.createReferral.selector, "createReferral");
42
42
 
43
43
  _authorize(functions, IInstanceLinkedComponent.withdrawFees.selector, "withdrawFees");
44
+ _authorize(functions, Distribution.withdrawCommission.selector, "withdrawCommission");
44
45
  }
45
46
  }
46
47
 
@@ -42,7 +42,6 @@ abstract contract Distribution is
42
42
  _;
43
43
  }
44
44
 
45
-
46
45
  function register()
47
46
  external
48
47
  virtual
@@ -129,6 +128,18 @@ abstract contract Distribution is
129
128
  return true;
130
129
  }
131
130
 
131
+ /// @inheritdoc IDistributionComponent
132
+ function withdrawCommission(NftId distributorNftId, Amount amount)
133
+ external
134
+ virtual
135
+ restricted()
136
+ onlyDistributor()
137
+ onlyNftOwner(distributorNftId)
138
+ returns (Amount withdrawnAmount)
139
+ {
140
+ return _withdrawCommission(distributorNftId, amount);
141
+ }
142
+
132
143
  function _initializeDistribution(
133
144
  address registry,
134
145
  NftId instanceNftId,
@@ -267,6 +278,12 @@ abstract contract Distribution is
267
278
  data);
268
279
  }
269
280
 
281
+ function _withdrawCommission(NftId distributorNftId, Amount amount)
282
+ internal
283
+ returns (Amount withdrawnAmount)
284
+ {
285
+ return _getDistributionStorage()._distributionService.withdrawCommission(distributorNftId, amount);
286
+ }
270
287
 
271
288
  function _nftTransferFrom(address from, address to, uint256 tokenId) internal virtual override {
272
289
  // keep track of distributor nft owner