@etherisc/gif-next 0.0.2-6f2f76e-746 → 0.0.2-716a895-659

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/README.md +73 -11
  2. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
  3. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +166 -39
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +4 -0
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +557 -0
  6. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +119 -39
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +177 -0
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +108 -156
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +67 -139
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +417 -88
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +360 -51
  18. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  19. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  20. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  21. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  22. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  29. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  30. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  33. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  34. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  35. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  36. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  37. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  38. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +847 -615
  40. package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +1 -1
  41. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  42. package/artifacts/contracts/instance/Instance.sol/Instance.json +1107 -697
  43. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
  44. package/artifacts/contracts/instance/{InstanceBase.sol/InstanceBase.json → base/ComponentServiceBase.sol/ComponentServiceBase.json} +225 -57
  45. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +4 -0
  46. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +113 -0
  47. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
  48. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +560 -0
  49. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +4 -0
  50. package/artifacts/contracts/instance/{module/lifecycle/ILifecycle.sol/ILifecycleModule.json → base/ILifecycle.sol/ILifecycle.json} +10 -77
  51. package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +4 -0
  52. package/artifacts/contracts/instance/{service → base}/IService.sol/IService.json +175 -54
  53. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +4 -0
  54. package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.json +544 -0
  55. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
  56. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +710 -0
  57. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +4 -0
  58. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +169 -0
  59. package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +4 -0
  60. package/artifacts/contracts/instance/{module/compensation/ICompensation.sol/ICompensation.json → base/ModuleBase.sol/ModuleBase.json} +2 -2
  61. package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +4 -0
  62. package/artifacts/contracts/instance/{service → base}/ServiceBase.sol/ServiceBase.json +221 -53
  63. package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +1 -1
  64. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +1 -1
  65. package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +1 -1
  66. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +1 -1
  67. package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +71 -50
  68. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +1 -1
  69. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +1 -1
  70. package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +71 -50
  71. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +1 -1
  72. package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +22 -93
  73. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +1 -1
  74. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +1 -1
  75. package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +22 -93
  76. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.dbg.json +4 -0
  77. package/artifacts/contracts/instance/module/distribution/DistributionModule.sol/DistributionModule.json +10 -0
  78. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistribution.dbg.json +4 -0
  79. package/artifacts/contracts/instance/module/{compensation/ICompensation.sol/ICompensationModule.json → distribution/IDistribution.sol/IDistribution.json} +2 -2
  80. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.dbg.json +4 -0
  81. package/artifacts/contracts/instance/module/distribution/IDistribution.sol/IDistributionModule.json +10 -0
  82. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +1 -1
  83. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +1 -1
  84. package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +61 -51
  85. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +1 -1
  86. package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +61 -51
  87. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +1 -1
  88. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +1 -1
  89. package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +29 -14
  90. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +1 -1
  91. package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +28 -13
  92. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +1 -1
  93. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +1 -1
  94. package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +104 -1
  95. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +1 -1
  96. package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +126 -5
  97. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +1 -1
  98. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +1 -1
  99. package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +326 -221
  100. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  101. package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +2 -2
  102. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +1 -1
  103. package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +326 -221
  104. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
  105. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +400 -64
  106. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +4 -0
  107. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +630 -0
  108. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
  109. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +176 -74
  110. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  111. package/artifacts/contracts/instance/service/{ComponentServiceBase.sol/ComponentServiceBase.json → IDistributionService.sol/IDistributionService.json} +204 -58
  112. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  113. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +235 -50
  114. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  115. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +325 -51
  116. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  117. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +335 -53
  118. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
  119. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +471 -71
  120. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  121. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +141 -12
  122. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  123. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +5 -0
  124. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  125. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +190 -51
  126. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
  127. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +872 -0
  128. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
  129. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
  130. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  131. package/artifacts/contracts/registry/Registry.sol/Registry.json +380 -139
  132. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
  133. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1245 -0
  134. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
  135. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +490 -0
  136. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
  137. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
  138. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  139. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
  140. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
  141. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +127 -0
  142. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  143. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +117 -37
  144. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  145. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +55 -14
  146. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
  147. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
  148. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
  149. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +349 -0
  150. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  151. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +190 -37
  152. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
  153. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
  154. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  155. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +78 -14
  156. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.dbg.json +4 -0
  157. package/artifacts/contracts/test/TestDistribution.sol/TestDistribution.json +557 -0
  158. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  159. package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
  160. package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +1 -1
  161. package/artifacts/contracts/test/TestPool.sol/TestPool.json +417 -88
  162. package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +1 -1
  163. package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +407 -56
  164. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  165. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +204 -36
  166. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  167. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +38 -4
  168. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  169. package/artifacts/contracts/test/TestService.sol/TestService.json +267 -62
  170. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  171. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +91 -53
  172. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  173. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  174. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  175. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +89 -25
  176. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +4 -0
  177. package/artifacts/contracts/test/Usdc.sol/USDC.json +376 -0
  178. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  179. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  180. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  181. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  182. package/artifacts/contracts/types/Fee.sol/FeeLib.json +55 -11
  183. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +4 -0
  184. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +111 -0
  185. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  186. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +65 -4
  187. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  188. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
  189. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  190. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  191. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.dbg.json +4 -0
  192. package/artifacts/contracts/types/ReferralId.sol/ReferralIdLib.json +99 -0
  193. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
  194. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
  195. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +4 -0
  196. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +30 -0
  197. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  198. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  199. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  200. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  201. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +39 -8
  202. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  203. package/artifacts/contracts/types/Version.sol/VersionLib.json +40 -2
  204. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  205. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
  206. package/contracts/components/BaseComponent.sol +11 -21
  207. package/contracts/components/Distribution.sol +155 -0
  208. package/contracts/components/IBaseComponent.sol +1 -1
  209. package/contracts/components/IDistributionComponent.sol +46 -0
  210. package/contracts/components/IPoolComponent.sol +15 -8
  211. package/contracts/components/IProductComponent.sol +26 -8
  212. package/contracts/components/Pool.sol +99 -27
  213. package/contracts/components/Product.sol +204 -22
  214. package/contracts/instance/IInstance.sol +17 -16
  215. package/contracts/instance/Instance.sol +35 -14
  216. package/contracts/instance/{service → base}/ComponentServiceBase.sol +13 -5
  217. package/contracts/instance/base/IInstanceBase.sol +23 -0
  218. package/contracts/instance/base/IKeyValueStore.sol +50 -0
  219. package/contracts/instance/base/ILifecycle.sol +30 -0
  220. package/contracts/instance/base/InstanceBase.sol +89 -0
  221. package/contracts/instance/base/KeyValueStore.sol +161 -0
  222. package/contracts/instance/{module/lifecycle/LifecycleModule.sol → base/Lifecycle.sol} +50 -39
  223. package/contracts/instance/base/ModuleBase.sol +57 -0
  224. package/contracts/instance/base/ServiceBase.sol +44 -0
  225. package/contracts/instance/module/access/Access.sol +6 -6
  226. package/contracts/instance/module/bundle/BundleModule.sol +24 -118
  227. package/contracts/instance/module/bundle/IBundle.sol +9 -9
  228. package/contracts/instance/module/component/ComponentModule.sol +31 -63
  229. package/contracts/instance/module/component/IComponent.sol +6 -31
  230. package/contracts/instance/module/distribution/DistributionModule.sol +17 -0
  231. package/contracts/instance/module/distribution/IDistribution.sol +10 -0
  232. package/contracts/instance/module/policy/IPolicy.sol +13 -10
  233. package/contracts/instance/module/policy/PolicyModule.sol +33 -26
  234. package/contracts/instance/module/pool/IPoolModule.sol +4 -4
  235. package/contracts/instance/module/pool/PoolModule.sol +23 -15
  236. package/contracts/instance/module/risk/IRisk.sol +18 -2
  237. package/contracts/instance/module/risk/RiskModule.sol +56 -2
  238. package/contracts/instance/module/treasury/ITreasury.sol +31 -50
  239. package/contracts/instance/module/treasury/TokenHandler.sol +1 -1
  240. package/contracts/instance/module/treasury/TreasuryModule.sol +67 -88
  241. package/contracts/instance/service/ComponentOwnerService.sol +234 -93
  242. package/contracts/instance/service/DistributionService.sol +54 -0
  243. package/contracts/instance/service/IComponentOwnerService.sol +1 -3
  244. package/contracts/instance/service/IDistributionService.sol +12 -0
  245. package/contracts/instance/service/IPoolService.sol +8 -1
  246. package/contracts/instance/service/IProductService.sol +56 -7
  247. package/contracts/instance/service/PoolService.sol +50 -24
  248. package/contracts/instance/service/ProductService.sol +249 -94
  249. package/contracts/registry/ChainNft.sol +42 -14
  250. package/contracts/registry/IChainNft.sol +2 -1
  251. package/contracts/registry/IRegistry.sol +27 -27
  252. package/contracts/registry/IRegistryService.sol +35 -0
  253. package/contracts/registry/ITransferInterceptor.sol +6 -0
  254. package/contracts/registry/Registry.sol +314 -269
  255. package/contracts/registry/RegistryService.sol +441 -0
  256. package/contracts/registry/RegistryServiceManager.sol +63 -0
  257. package/contracts/shared/ContractDeployerLib.sol +72 -0
  258. package/contracts/shared/INftOwnable.sol +22 -0
  259. package/contracts/shared/IRegisterable.sol +8 -15
  260. package/contracts/shared/IVersionable.sol +55 -11
  261. package/contracts/shared/NftOwnable.sol +136 -0
  262. package/contracts/shared/ProxyManager.sol +94 -0
  263. package/contracts/shared/Registerable.sol +62 -59
  264. package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
  265. package/contracts/shared/Versionable.sol +112 -54
  266. package/contracts/test/TestDistribution.sol +22 -0
  267. package/contracts/test/TestPool.sol +7 -2
  268. package/contracts/test/TestProduct.sol +37 -7
  269. package/contracts/test/TestRegisterable.sol +5 -6
  270. package/contracts/test/TestRoleId.sol +2 -2
  271. package/contracts/test/TestService.sol +6 -12
  272. package/contracts/test/Usdc.sol +26 -0
  273. package/contracts/types/Fee.sol +8 -3
  274. package/contracts/types/Key32.sol +45 -0
  275. package/contracts/types/NftId.sol +16 -1
  276. package/contracts/types/ObjectType.sol +24 -8
  277. package/contracts/types/ReferralId.sol +48 -0
  278. package/contracts/types/RiskId.sol +43 -0
  279. package/contracts/types/RoleId.sol +18 -9
  280. package/contracts/types/StateId.sol +7 -1
  281. package/contracts/types/UFixed.sol +22 -19
  282. package/contracts/types/Version.sol +9 -0
  283. package/package.json +1 -1
  284. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +0 -4
  285. package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.json +0 -50
  286. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  287. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
  288. package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
  289. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
  290. package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
  291. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +0 -4
  292. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.json +0 -134
  293. package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +0 -4
  294. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +0 -4
  295. package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +0 -221
  296. package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  297. package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +0 -4
  298. package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +0 -4
  299. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
  300. package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +0 -24
  301. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
  302. package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
  303. package/contracts/experiment/statemachine/README.md +0 -112
  304. package/contracts/instance/IServiceLinked.sol +0 -12
  305. package/contracts/instance/InstanceBase.sol +0 -71
  306. package/contracts/instance/module/compensation/CompensationModule.sol +0 -8
  307. package/contracts/instance/module/compensation/ICompensation.sol +0 -10
  308. package/contracts/instance/module/lifecycle/ILifecycle.sol +0 -47
  309. package/contracts/instance/service/ServiceBase.sol +0 -39
  310. package/contracts/registry/IRegistryLinked.sol +0 -8
  311. package/contracts/shared/IOwnable.sol +0 -6
  312. /package/contracts/instance/{service → base}/IService.sol +0 -0
@@ -0,0 +1,376 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "USDC",
4
+ "sourceName": "contracts/test/Usdc.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "address",
15
+ "name": "spender",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "allowance",
21
+ "type": "uint256"
22
+ },
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "needed",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "name": "ERC20InsufficientAllowance",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "address",
36
+ "name": "sender",
37
+ "type": "address"
38
+ },
39
+ {
40
+ "internalType": "uint256",
41
+ "name": "balance",
42
+ "type": "uint256"
43
+ },
44
+ {
45
+ "internalType": "uint256",
46
+ "name": "needed",
47
+ "type": "uint256"
48
+ }
49
+ ],
50
+ "name": "ERC20InsufficientBalance",
51
+ "type": "error"
52
+ },
53
+ {
54
+ "inputs": [
55
+ {
56
+ "internalType": "address",
57
+ "name": "approver",
58
+ "type": "address"
59
+ }
60
+ ],
61
+ "name": "ERC20InvalidApprover",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [
66
+ {
67
+ "internalType": "address",
68
+ "name": "receiver",
69
+ "type": "address"
70
+ }
71
+ ],
72
+ "name": "ERC20InvalidReceiver",
73
+ "type": "error"
74
+ },
75
+ {
76
+ "inputs": [
77
+ {
78
+ "internalType": "address",
79
+ "name": "sender",
80
+ "type": "address"
81
+ }
82
+ ],
83
+ "name": "ERC20InvalidSender",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [
88
+ {
89
+ "internalType": "address",
90
+ "name": "spender",
91
+ "type": "address"
92
+ }
93
+ ],
94
+ "name": "ERC20InvalidSpender",
95
+ "type": "error"
96
+ },
97
+ {
98
+ "anonymous": false,
99
+ "inputs": [
100
+ {
101
+ "indexed": true,
102
+ "internalType": "address",
103
+ "name": "owner",
104
+ "type": "address"
105
+ },
106
+ {
107
+ "indexed": true,
108
+ "internalType": "address",
109
+ "name": "spender",
110
+ "type": "address"
111
+ },
112
+ {
113
+ "indexed": false,
114
+ "internalType": "uint256",
115
+ "name": "value",
116
+ "type": "uint256"
117
+ }
118
+ ],
119
+ "name": "Approval",
120
+ "type": "event"
121
+ },
122
+ {
123
+ "anonymous": false,
124
+ "inputs": [
125
+ {
126
+ "indexed": true,
127
+ "internalType": "address",
128
+ "name": "from",
129
+ "type": "address"
130
+ },
131
+ {
132
+ "indexed": true,
133
+ "internalType": "address",
134
+ "name": "to",
135
+ "type": "address"
136
+ },
137
+ {
138
+ "indexed": false,
139
+ "internalType": "uint256",
140
+ "name": "value",
141
+ "type": "uint256"
142
+ }
143
+ ],
144
+ "name": "Transfer",
145
+ "type": "event"
146
+ },
147
+ {
148
+ "inputs": [],
149
+ "name": "DECIMALS",
150
+ "outputs": [
151
+ {
152
+ "internalType": "uint8",
153
+ "name": "",
154
+ "type": "uint8"
155
+ }
156
+ ],
157
+ "stateMutability": "view",
158
+ "type": "function"
159
+ },
160
+ {
161
+ "inputs": [],
162
+ "name": "INITIAL_SUPPLY",
163
+ "outputs": [
164
+ {
165
+ "internalType": "uint256",
166
+ "name": "",
167
+ "type": "uint256"
168
+ }
169
+ ],
170
+ "stateMutability": "view",
171
+ "type": "function"
172
+ },
173
+ {
174
+ "inputs": [],
175
+ "name": "NAME",
176
+ "outputs": [
177
+ {
178
+ "internalType": "string",
179
+ "name": "",
180
+ "type": "string"
181
+ }
182
+ ],
183
+ "stateMutability": "view",
184
+ "type": "function"
185
+ },
186
+ {
187
+ "inputs": [],
188
+ "name": "SYMBOL",
189
+ "outputs": [
190
+ {
191
+ "internalType": "string",
192
+ "name": "",
193
+ "type": "string"
194
+ }
195
+ ],
196
+ "stateMutability": "view",
197
+ "type": "function"
198
+ },
199
+ {
200
+ "inputs": [
201
+ {
202
+ "internalType": "address",
203
+ "name": "owner",
204
+ "type": "address"
205
+ },
206
+ {
207
+ "internalType": "address",
208
+ "name": "spender",
209
+ "type": "address"
210
+ }
211
+ ],
212
+ "name": "allowance",
213
+ "outputs": [
214
+ {
215
+ "internalType": "uint256",
216
+ "name": "",
217
+ "type": "uint256"
218
+ }
219
+ ],
220
+ "stateMutability": "view",
221
+ "type": "function"
222
+ },
223
+ {
224
+ "inputs": [
225
+ {
226
+ "internalType": "address",
227
+ "name": "spender",
228
+ "type": "address"
229
+ },
230
+ {
231
+ "internalType": "uint256",
232
+ "name": "value",
233
+ "type": "uint256"
234
+ }
235
+ ],
236
+ "name": "approve",
237
+ "outputs": [
238
+ {
239
+ "internalType": "bool",
240
+ "name": "",
241
+ "type": "bool"
242
+ }
243
+ ],
244
+ "stateMutability": "nonpayable",
245
+ "type": "function"
246
+ },
247
+ {
248
+ "inputs": [
249
+ {
250
+ "internalType": "address",
251
+ "name": "account",
252
+ "type": "address"
253
+ }
254
+ ],
255
+ "name": "balanceOf",
256
+ "outputs": [
257
+ {
258
+ "internalType": "uint256",
259
+ "name": "",
260
+ "type": "uint256"
261
+ }
262
+ ],
263
+ "stateMutability": "view",
264
+ "type": "function"
265
+ },
266
+ {
267
+ "inputs": [],
268
+ "name": "decimals",
269
+ "outputs": [
270
+ {
271
+ "internalType": "uint8",
272
+ "name": "",
273
+ "type": "uint8"
274
+ }
275
+ ],
276
+ "stateMutability": "pure",
277
+ "type": "function"
278
+ },
279
+ {
280
+ "inputs": [],
281
+ "name": "name",
282
+ "outputs": [
283
+ {
284
+ "internalType": "string",
285
+ "name": "",
286
+ "type": "string"
287
+ }
288
+ ],
289
+ "stateMutability": "view",
290
+ "type": "function"
291
+ },
292
+ {
293
+ "inputs": [],
294
+ "name": "symbol",
295
+ "outputs": [
296
+ {
297
+ "internalType": "string",
298
+ "name": "",
299
+ "type": "string"
300
+ }
301
+ ],
302
+ "stateMutability": "view",
303
+ "type": "function"
304
+ },
305
+ {
306
+ "inputs": [],
307
+ "name": "totalSupply",
308
+ "outputs": [
309
+ {
310
+ "internalType": "uint256",
311
+ "name": "",
312
+ "type": "uint256"
313
+ }
314
+ ],
315
+ "stateMutability": "view",
316
+ "type": "function"
317
+ },
318
+ {
319
+ "inputs": [
320
+ {
321
+ "internalType": "address",
322
+ "name": "to",
323
+ "type": "address"
324
+ },
325
+ {
326
+ "internalType": "uint256",
327
+ "name": "value",
328
+ "type": "uint256"
329
+ }
330
+ ],
331
+ "name": "transfer",
332
+ "outputs": [
333
+ {
334
+ "internalType": "bool",
335
+ "name": "",
336
+ "type": "bool"
337
+ }
338
+ ],
339
+ "stateMutability": "nonpayable",
340
+ "type": "function"
341
+ },
342
+ {
343
+ "inputs": [
344
+ {
345
+ "internalType": "address",
346
+ "name": "from",
347
+ "type": "address"
348
+ },
349
+ {
350
+ "internalType": "address",
351
+ "name": "to",
352
+ "type": "address"
353
+ },
354
+ {
355
+ "internalType": "uint256",
356
+ "name": "value",
357
+ "type": "uint256"
358
+ }
359
+ ],
360
+ "name": "transferFrom",
361
+ "outputs": [
362
+ {
363
+ "internalType": "bool",
364
+ "name": "",
365
+ "type": "bool"
366
+ }
367
+ ],
368
+ "stateMutability": "nonpayable",
369
+ "type": "function"
370
+ }
371
+ ],
372
+ "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600c81526020016b55534443202d2044554d4d5960a01b815250604051806040016040528060048152602001635553444360e01b8152508160039081620000659190620002d3565b506004620000748282620002d3565b505050620000af6200008b620000b560201b60201c565b620000996006600a620004b4565b620000a990633b9aca00620004cc565b620000b9565b620004fc565b3390565b6001600160a01b038216620000e95760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b620000f760008383620000fb565b5050565b6001600160a01b0383166200012a5780600260008282546200011e9190620004e6565b909155506200019e9050565b6001600160a01b038316600090815260208190526040902054818110156200017f5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000e0565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216620001bc57600280548290039055620001db565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200022191815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200025957607f821691505b6020821081036200027a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002ce57600081815260208120601f850160051c81016020861015620002a95750805b601f850160051c820191505b81811015620002ca57828155600101620002b5565b5050505b505050565b81516001600160401b03811115620002ef57620002ef6200022e565b620003078162000300845462000244565b8462000280565b602080601f8311600181146200033f5760008415620003265750858301515b600019600386901b1c1916600185901b178555620002ca565b600085815260208120601f198616915b8281101562000370578886015182559484019460019091019084016200034f565b50858210156200038f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003f6578160001904821115620003da57620003da6200039f565b80851615620003e857918102915b93841c9390800290620003ba565b509250929050565b6000826200040f57506001620004ae565b816200041e57506000620004ae565b8160018114620004375760028114620004425762000462565b6001915050620004ae565b60ff8411156200045657620004566200039f565b50506001821b620004ae565b5060208310610133831016604e8410600b841016171562000487575081810a620004ae565b620004938383620003b5565b8060001904821115620004aa57620004aa6200039f565b0290505b92915050565b6000620004c560ff841683620003fe565b9392505050565b8082028115828204841417620004ae57620004ae6200039f565b80820180821115620004ae57620004ae6200039f565b6108f3806200050c6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063313ce5671161008c578063a3f4df7e11610066578063a3f4df7e14610194578063a9059cbb146101bf578063dd62ed3e146101d2578063f76f8d781461020b57600080fd5b8063313ce5671461015c57806370a082311461016357806395d89b411461018c57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd146101275780632e0f26251461013a5780632ff2e9dc14610154575b600080fd5b6100dc61022e565b6040516100e9919061062b565b60405180910390f35b610105610100366004610695565b6102c0565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b6101056101353660046106bf565b6102da565b610142600681565b60405160ff90911681526020016100e9565b6101196102fe565b6006610142565b6101196101713660046106fb565b6001600160a01b031660009081526020819052604090205490565b6100dc61031b565b6100dc6040518060400160405280600c81526020016b55534443202d2044554d4d5960a01b81525081565b6101056101cd366004610695565b61032a565b6101196101e036600461071d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6100dc604051806040016040528060048152602001635553444360e01b81525081565b60606003805461023d90610750565b80601f016020809104026020016040519081016040528092919081815260200182805461026990610750565b80156102b65780601f1061028b576101008083540402835291602001916102b6565b820191906000526020600020905b81548152906001019060200180831161029957829003601f168201915b5050505050905090565b6000336102ce818585610338565b60019150505b92915050565b6000336102e885828561034a565b6102f38585856103cd565b506001949350505050565b61030a6006600a610884565b61031890633b9aca00610893565b81565b60606004805461023d90610750565b6000336102ce8185856103cd565b610345838383600161042c565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146103c757818110156103b857604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6103c78484848403600061042c565b50505050565b6001600160a01b0383166103f757604051634b637e8f60e11b8152600060048201526024016103af565b6001600160a01b0382166104215760405163ec442f0560e01b8152600060048201526024016103af565b610345838383610501565b6001600160a01b0384166104565760405163e602df0560e01b8152600060048201526024016103af565b6001600160a01b03831661048057604051634a1406b160e11b8152600060048201526024016103af565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156103c757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104f391815260200190565b60405180910390a350505050565b6001600160a01b03831661052c57806002600082825461052191906108aa565b9091555061059e9050565b6001600160a01b0383166000908152602081905260409020548181101561057f5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103af565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166105ba576002805482900390556105d9565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161061e91815260200190565b60405180910390a3505050565b600060208083528351808285015260005b818110156106585785810183015185820160400152820161063c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461069057600080fd5b919050565b600080604083850312156106a857600080fd5b6106b183610679565b946020939093013593505050565b6000806000606084860312156106d457600080fd5b6106dd84610679565b92506106eb60208501610679565b9150604084013590509250925092565b60006020828403121561070d57600080fd5b61071682610679565b9392505050565b6000806040838503121561073057600080fd5b61073983610679565b915061074760208401610679565b90509250929050565b600181811c9082168061076457607f821691505b60208210810361078457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156107db5781600019048211156107c1576107c161078a565b808516156107ce57918102915b93841c93908002906107a5565b509250929050565b6000826107f2575060016102d4565b816107ff575060006102d4565b8160018114610815576002811461081f5761083b565b60019150506102d4565b60ff8411156108305761083061078a565b50506001821b6102d4565b5060208310610133831016604e8410600b841016171561085e575081810a6102d4565b61086883836107a0565b806000190482111561087c5761087c61078a565b029392505050565b600061071660ff8416836107e3565b80820281158282048414176102d4576102d461078a565b808201808211156102d4576102d461078a56fea2646970667358221220c7cd5b3f809ed9ea6a1f9af7bfa7d7bdd7eb9d8295877f2b981db597faede29d64736f6c63430008140033",
373
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063313ce5671161008c578063a3f4df7e11610066578063a3f4df7e14610194578063a9059cbb146101bf578063dd62ed3e146101d2578063f76f8d781461020b57600080fd5b8063313ce5671461015c57806370a082311461016357806395d89b411461018c57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd146101275780632e0f26251461013a5780632ff2e9dc14610154575b600080fd5b6100dc61022e565b6040516100e9919061062b565b60405180910390f35b610105610100366004610695565b6102c0565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b6101056101353660046106bf565b6102da565b610142600681565b60405160ff90911681526020016100e9565b6101196102fe565b6006610142565b6101196101713660046106fb565b6001600160a01b031660009081526020819052604090205490565b6100dc61031b565b6100dc6040518060400160405280600c81526020016b55534443202d2044554d4d5960a01b81525081565b6101056101cd366004610695565b61032a565b6101196101e036600461071d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6100dc604051806040016040528060048152602001635553444360e01b81525081565b60606003805461023d90610750565b80601f016020809104026020016040519081016040528092919081815260200182805461026990610750565b80156102b65780601f1061028b576101008083540402835291602001916102b6565b820191906000526020600020905b81548152906001019060200180831161029957829003601f168201915b5050505050905090565b6000336102ce818585610338565b60019150505b92915050565b6000336102e885828561034a565b6102f38585856103cd565b506001949350505050565b61030a6006600a610884565b61031890633b9aca00610893565b81565b60606004805461023d90610750565b6000336102ce8185856103cd565b610345838383600161042c565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146103c757818110156103b857604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6103c78484848403600061042c565b50505050565b6001600160a01b0383166103f757604051634b637e8f60e11b8152600060048201526024016103af565b6001600160a01b0382166104215760405163ec442f0560e01b8152600060048201526024016103af565b610345838383610501565b6001600160a01b0384166104565760405163e602df0560e01b8152600060048201526024016103af565b6001600160a01b03831661048057604051634a1406b160e11b8152600060048201526024016103af565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156103c757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104f391815260200190565b60405180910390a350505050565b6001600160a01b03831661052c57806002600082825461052191906108aa565b9091555061059e9050565b6001600160a01b0383166000908152602081905260409020548181101561057f5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103af565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166105ba576002805482900390556105d9565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161061e91815260200190565b60405180910390a3505050565b600060208083528351808285015260005b818110156106585785810183015185820160400152820161063c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461069057600080fd5b919050565b600080604083850312156106a857600080fd5b6106b183610679565b946020939093013593505050565b6000806000606084860312156106d457600080fd5b6106dd84610679565b92506106eb60208501610679565b9150604084013590509250925092565b60006020828403121561070d57600080fd5b61071682610679565b9392505050565b6000806040838503121561073057600080fd5b61073983610679565b915061074760208401610679565b90509250929050565b600181811c9082168061076457607f821691505b60208210810361078457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156107db5781600019048211156107c1576107c161078a565b808516156107ce57918102915b93841c93908002906107a5565b509250929050565b6000826107f2575060016102d4565b816107ff575060006102d4565b8160018114610815576002811461081f5761083b565b60019150506102d4565b60ff8411156108305761083061078a565b50506001821b6102d4565b5060208310610133831016604e8410600b841016171561085e575081810a6102d4565b61086883836107a0565b806000190482111561087c5761087c61078a565b029392505050565b600061071660ff8416836107e3565b80820281158282048414176102d4576102d461078a565b808201808211156102d4576102d461078a56fea2646970667358221220c7cd5b3f809ed9ea6a1f9af7bfa7d7bdd7eb9d8295877f2b981db597faede29d64736f6c63430008140033",
374
+ "linkReferences": {},
375
+ "deployedLinkReferences": {}
376
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/06e83e7724f74452e3c7cb42b0b5994a.json"
3
+ "buildInfo": "../../../build-info/8bbcba9339a2a5982c315ee561cbbe8c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/06e83e7724f74452e3c7cb42b0b5994a.json"
3
+ "buildInfo": "../../../build-info/8bbcba9339a2a5982c315ee561cbbe8c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/06e83e7724f74452e3c7cb42b0b5994a.json"
3
+ "buildInfo": "../../../build-info/8bbcba9339a2a5982c315ee561cbbe8c.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/06e83e7724f74452e3c7cb42b0b5994a.json"
3
+ "buildInfo": "../../../build-info/8bbcba9339a2a5982c315ee561cbbe8c.json"
4
4
  }
@@ -3,13 +3,13 @@
3
3
  "contractName": "FeeLib",
4
4
  "sourceName": "contracts/types/Fee.sol",
5
5
  "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "MathOverflowedMulDiv",
9
+ "type": "error"
10
+ },
6
11
  {
7
12
  "inputs": [
8
- {
9
- "internalType": "uint256",
10
- "name": "amount",
11
- "type": "uint256"
12
- },
13
13
  {
14
14
  "components": [
15
15
  {
@@ -26,6 +26,11 @@
26
26
  "internalType": "struct Fee",
27
27
  "name": "fee",
28
28
  "type": "tuple"
29
+ },
30
+ {
31
+ "internalType": "uint256",
32
+ "name": "amount",
33
+ "type": "uint256"
29
34
  }
30
35
  ],
31
36
  "name": "calculateFee",
@@ -123,6 +128,37 @@
123
128
  "stateMutability": "pure",
124
129
  "type": "function"
125
130
  },
131
+ {
132
+ "inputs": [
133
+ {
134
+ "internalType": "uint8",
135
+ "name": "percent",
136
+ "type": "uint8"
137
+ }
138
+ ],
139
+ "name": "percentageFee",
140
+ "outputs": [
141
+ {
142
+ "components": [
143
+ {
144
+ "internalType": "UFixed",
145
+ "name": "fractionalFee",
146
+ "type": "uint256"
147
+ },
148
+ {
149
+ "internalType": "uint256",
150
+ "name": "fixedFee",
151
+ "type": "uint256"
152
+ }
153
+ ],
154
+ "internalType": "struct Fee",
155
+ "name": "fee",
156
+ "type": "tuple"
157
+ }
158
+ ],
159
+ "stateMutability": "pure",
160
+ "type": "function"
161
+ },
126
162
  {
127
163
  "inputs": [
128
164
  {
@@ -185,18 +221,22 @@
185
221
  "type": "function"
186
222
  }
187
223
  ],
188
- "bytecode": "0x61053261003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c80632bd182d3146100665780638de0a4c2146100ac57806395248868146100cf578063c66fb3ae146100e2578063c7010dfa1461010a575b600080fd5b604080518082018252600080825260209182018190528251808401909352808352908201525b604080518251815260209283015192810192909252015b60405180910390f35b6100bf6100ba3660046103fa565b61013e565b60405190151581526020016100a3565b6100bf6100dd366004610416565b610159565b6100f56100f036600461044b565b61017a565b604080519283526020830191909152016100a3565b61008c61011836600461046f565b604080518082018252600080825260209182015281518083019092529281529182015290565b60008160200151600014801561015357508151155b92915050565b600081602001518360200151148015610173575082518251145b9392505050565b600080600061020373__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__6345ebb61e876040518263ffffffff1660e01b81526004016101bb91815260200190565b602060405180830381865af41580156101d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fc9190610491565b85516102a0565b6020850151604051632255341b60e11b8152600481018390529192509073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__906344aa683690602401602060405180830381865af415801561025c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102809190610491565b61028a91906104c0565b925061029683866104d3565b9150509250929050565b60006101738383670de0b6b3a764000060008080600019858709858702925082811083820303915050806000036102ea578382816102e0576102e06104e6565b0492505050610173565b8084116103355760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b604482015260640160405180910390fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000604082840312156103af57600080fd5b6040516040810181811067ffffffffffffffff821117156103e057634e487b7160e01b600052604160045260246000fd5b604052823581526020928301359281019290925250919050565b60006040828403121561040c57600080fd5b610173838361039d565b6000806080838503121561042957600080fd5b610433848461039d565b9150610442846040850161039d565b90509250929050565b6000806060838503121561045e57600080fd5b82359150610442846020850161039d565b6000806040838503121561048257600080fd5b50508035926020909101359150565b6000602082840312156104a357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610153576101536104aa565b81810381811115610153576101536104aa565b634e487b7160e01b600052601260045260246000fdfea264697066735822122096df4359a01b782f9dd4d96a4ef7f513abbf9d7fc43c201faeab5934d47aeede64736f6c63430008140033",
189
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c80632bd182d3146100665780638de0a4c2146100ac57806395248868146100cf578063c66fb3ae146100e2578063c7010dfa1461010a575b600080fd5b604080518082018252600080825260209182018190528251808401909352808352908201525b604080518251815260209283015192810192909252015b60405180910390f35b6100bf6100ba3660046103fa565b61013e565b60405190151581526020016100a3565b6100bf6100dd366004610416565b610159565b6100f56100f036600461044b565b61017a565b604080519283526020830191909152016100a3565b61008c61011836600461046f565b604080518082018252600080825260209182015281518083019092529281529182015290565b60008160200151600014801561015357508151155b92915050565b600081602001518360200151148015610173575082518251145b9392505050565b600080600061020373__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__6345ebb61e876040518263ffffffff1660e01b81526004016101bb91815260200190565b602060405180830381865af41580156101d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fc9190610491565b85516102a0565b6020850151604051632255341b60e11b8152600481018390529192509073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__906344aa683690602401602060405180830381865af415801561025c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102809190610491565b61028a91906104c0565b925061029683866104d3565b9150509250929050565b60006101738383670de0b6b3a764000060008080600019858709858702925082811083820303915050806000036102ea578382816102e0576102e06104e6565b0492505050610173565b8084116103355760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b604482015260640160405180910390fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000604082840312156103af57600080fd5b6040516040810181811067ffffffffffffffff821117156103e057634e487b7160e01b600052604160045260246000fd5b604052823581526020928301359281019290925250919050565b60006040828403121561040c57600080fd5b610173838361039d565b6000806080838503121561042957600080fd5b610433848461039d565b9150610442846040850161039d565b90509250929050565b6000806060838503121561045e57600080fd5b82359150610442846020850161039d565b6000806040838503121561048257600080fd5b50508035926020909101359150565b6000602082840312156104a357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610153576101536104aa565b81810381811115610153576101536104aa565b634e487b7160e01b600052601260045260246000fdfea264697066735822122096df4359a01b782f9dd4d96a4ef7f513abbf9d7fc43c201faeab5934d47aeede64736f6c63430008140033",
224
+ "bytecode": "0x6105fa61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806304baf60c146100715780632bd182d31461009e5780635faa955b146100df5780638de0a4c2146100f25780639524886814610115578063c7010dfa14610128575b600080fd5b61008461007f366004610498565b61015c565b604080519283526020830191909152015b60405180910390f35b604080518082018252600080825260209182018190528251808401909352808352908201525b60408051825181526020928301519281019290925201610095565b6100c46100ed3660046104c3565b610282565b6101056101003660046104e6565b61032b565b6040519015158152602001610095565b610105610123366004610502565b610346565b6100c4610136366004610537565b604080518082018252600080825260209182015281518083019092529281529182015290565b60008060006101e573__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__6345ebb61e866040518263ffffffff1660e01b815260040161019d91815260200190565b602060405180830381865af41580156101ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101de9190610559565b8651610367565b6020860151604051632255341b60e11b8152600481018390529192509073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__906344aa683690602401602060405180830381865af415801561023e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102629190610559565b61026c9190610588565b9250610278838561059b565b9150509250929050565b60408051808201825260008082526020820152815180830192839052631488c84560e01b90925260ff831660448301526001196064830152908073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__631488c84560848301602060405180830381865af41580156102f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031b9190610559565b8152600060209091015292915050565b60008160200151600014801561034057508151155b92915050565b600081602001518360200151148015610360575082518251145b9392505050565b60006103608383670de0b6b3a764000060008383028160001985870982811083820303915050806000036103ae578382816103a4576103a46105ae565b0492505050610360565b8084116103ce5760405163227bc15360e01b815260040160405180910390fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b60006040828403121561044d57600080fd5b6040516040810181811067ffffffffffffffff8211171561047e57634e487b7160e01b600052604160045260246000fd5b604052823581526020928301359281019290925250919050565b600080606083850312156104ab57600080fd5b6104b5848461043b565b946040939093013593505050565b6000602082840312156104d557600080fd5b813560ff8116811461036057600080fd5b6000604082840312156104f857600080fd5b610360838361043b565b6000806080838503121561051557600080fd5b61051f848461043b565b915061052e846040850161043b565b90509250929050565b6000806040838503121561054a57600080fd5b50508035926020909101359150565b60006020828403121561056b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561034057610340610572565b8181038181111561034057610340610572565b634e487b7160e01b600052601260045260246000fdfea264697066735822122081e1a8a92d0855caf5f19eb8ba7a32bece0a05bc4c07a813945afa6e96c83ac864736f6c63430008140033",
225
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806304baf60c146100715780632bd182d31461009e5780635faa955b146100df5780638de0a4c2146100f25780639524886814610115578063c7010dfa14610128575b600080fd5b61008461007f366004610498565b61015c565b604080519283526020830191909152015b60405180910390f35b604080518082018252600080825260209182018190528251808401909352808352908201525b60408051825181526020928301519281019290925201610095565b6100c46100ed3660046104c3565b610282565b6101056101003660046104e6565b61032b565b6040519015158152602001610095565b610105610123366004610502565b610346565b6100c4610136366004610537565b604080518082018252600080825260209182015281518083019092529281529182015290565b60008060006101e573__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__6345ebb61e866040518263ffffffff1660e01b815260040161019d91815260200190565b602060405180830381865af41580156101ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101de9190610559565b8651610367565b6020860151604051632255341b60e11b8152600481018390529192509073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__906344aa683690602401602060405180830381865af415801561023e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102629190610559565b61026c9190610588565b9250610278838561059b565b9150509250929050565b60408051808201825260008082526020820152815180830192839052631488c84560e01b90925260ff831660448301526001196064830152908073__$fa7f345063a1bf0cf2bd14a32ccc1b6018$__631488c84560848301602060405180830381865af41580156102f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031b9190610559565b8152600060209091015292915050565b60008160200151600014801561034057508151155b92915050565b600081602001518360200151148015610360575082518251145b9392505050565b60006103608383670de0b6b3a764000060008383028160001985870982811083820303915050806000036103ae578382816103a4576103a46105ae565b0492505050610360565b8084116103ce5760405163227bc15360e01b815260040160405180910390fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b60006040828403121561044d57600080fd5b6040516040810181811067ffffffffffffffff8211171561047e57634e487b7160e01b600052604160045260246000fd5b604052823581526020928301359281019290925250919050565b600080606083850312156104ab57600080fd5b6104b5848461043b565b946040939093013593505050565b6000602082840312156104d557600080fd5b813560ff8116811461036057600080fd5b6000604082840312156104f857600080fd5b610360838361043b565b6000806080838503121561051557600080fd5b61051f848461043b565b915061052e846040850161043b565b90509250929050565b6000806040838503121561054a57600080fd5b50508035926020909101359150565b60006020828403121561056b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561034057610340610572565b8181038181111561034057610340610572565b634e487b7160e01b600052601260045260246000fdfea264697066735822122081e1a8a92d0855caf5f19eb8ba7a32bece0a05bc4c07a813945afa6e96c83ac864736f6c63430008140033",
190
226
  "linkReferences": {
191
227
  "contracts/types/UFixed.sol": {
192
228
  "UFixedMathLib": [
193
229
  {
194
230
  "length": 20,
195
- "start": 446
231
+ "start": 416
196
232
  },
197
233
  {
198
234
  "length": 20,
199
- "start": 604
235
+ "start": 574
236
+ },
237
+ {
238
+ "length": 20,
239
+ "start": 760
200
240
  }
201
241
  ]
202
242
  }
@@ -206,11 +246,15 @@
206
246
  "UFixedMathLib": [
207
247
  {
208
248
  "length": 20,
209
- "start": 388
249
+ "start": 358
250
+ },
251
+ {
252
+ "length": 20,
253
+ "start": 516
210
254
  },
211
255
  {
212
256
  "length": 20,
213
- "start": 546
257
+ "start": 702
214
258
  }
215
259
  ]
216
260
  }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/8bbcba9339a2a5982c315ee561cbbe8c.json"
4
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "Key32Lib",
4
+ "sourceName": "contracts/types/Key32.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "ID_MASK",
9
+ "outputs": [
10
+ {
11
+ "internalType": "bytes32",
12
+ "name": "",
13
+ "type": "bytes32"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [],
21
+ "name": "ID_SHIFT",
22
+ "outputs": [
23
+ {
24
+ "internalType": "uint8",
25
+ "name": "",
26
+ "type": "uint8"
27
+ }
28
+ ],
29
+ "stateMutability": "view",
30
+ "type": "function"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "TYPE_MASK",
35
+ "outputs": [
36
+ {
37
+ "internalType": "bytes32",
38
+ "name": "",
39
+ "type": "bytes32"
40
+ }
41
+ ],
42
+ "stateMutability": "view",
43
+ "type": "function"
44
+ },
45
+ {
46
+ "inputs": [],
47
+ "name": "TYPE_SHIFT",
48
+ "outputs": [
49
+ {
50
+ "internalType": "uint8",
51
+ "name": "",
52
+ "type": "uint8"
53
+ }
54
+ ],
55
+ "stateMutability": "view",
56
+ "type": "function"
57
+ },
58
+ {
59
+ "inputs": [
60
+ {
61
+ "internalType": "Key32",
62
+ "name": "key",
63
+ "type": "bytes32"
64
+ }
65
+ ],
66
+ "name": "toKey",
67
+ "outputs": [
68
+ {
69
+ "internalType": "ObjectType",
70
+ "name": "objectType",
71
+ "type": "uint8"
72
+ },
73
+ {
74
+ "internalType": "KeyId",
75
+ "name": "id",
76
+ "type": "bytes31"
77
+ }
78
+ ],
79
+ "stateMutability": "pure",
80
+ "type": "function"
81
+ },
82
+ {
83
+ "inputs": [
84
+ {
85
+ "internalType": "ObjectType",
86
+ "name": "objectType",
87
+ "type": "uint8"
88
+ },
89
+ {
90
+ "internalType": "KeyId",
91
+ "name": "id",
92
+ "type": "bytes31"
93
+ }
94
+ ],
95
+ "name": "toKey32",
96
+ "outputs": [
97
+ {
98
+ "internalType": "Key32",
99
+ "name": "",
100
+ "type": "bytes32"
101
+ }
102
+ ],
103
+ "stateMutability": "pure",
104
+ "type": "function"
105
+ }
106
+ ],
107
+ "bytecode": "0x61025b61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c80630f94cc501461007157806329e9b22614610093578063a4dc7d86146100ad578063d92bb60d146100dc578063da3fe412146100ea578063f48016ce146100f2575b600080fd5b6100806001600160f81b031981565b6040519081526020015b60405180910390f35b61009b60f881565b60405160ff909116815260200161008a565b6100c06100bb36600461017b565b610105565b6040805160ff909316835260ff1990911660208301520161008a565b6100806001600160f81b0381565b61009b61013b565b610080610100366004610194565b61014b565b60f881811c90600090839061011c906101006101f0565b60ff1660ff60f81b6001600160f81b031916198216901b915050915091565b61014860f86101006101f0565b81565b600060ff8316600883901c8261016f826001600160f81b031960f889901b16610212565b93505050505b92915050565b60006020828403121561018d57600080fd5b5035919050565b600080604083850312156101a757600080fd5b823560ff811681146101b857600080fd5b9150602083013560ff19811681146101cf57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561020b5761020b6101da565b5092915050565b80820180821115610175576101756101da56fea26469706673582212200232f47ee69cb8e38b9ab8a9667c6219da3a4afa7743d7fbf97ec4aedc68463f64736f6c63430008140033",
108
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c80630f94cc501461007157806329e9b22614610093578063a4dc7d86146100ad578063d92bb60d146100dc578063da3fe412146100ea578063f48016ce146100f2575b600080fd5b6100806001600160f81b031981565b6040519081526020015b60405180910390f35b61009b60f881565b60405160ff909116815260200161008a565b6100c06100bb36600461017b565b610105565b6040805160ff909316835260ff1990911660208301520161008a565b6100806001600160f81b0381565b61009b61013b565b610080610100366004610194565b61014b565b60f881811c90600090839061011c906101006101f0565b60ff1660ff60f81b6001600160f81b031916198216901b915050915091565b61014860f86101006101f0565b81565b600060ff8316600883901c8261016f826001600160f81b031960f889901b16610212565b93505050505b92915050565b60006020828403121561018d57600080fd5b5035919050565b600080604083850312156101a757600080fd5b823560ff811681146101b857600080fd5b9150602083013560ff19811681146101cf57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b61ffff82811682821603908082111561020b5761020b6101da565b5092915050565b80820180821115610175576101756101da56fea26469706673582212200232f47ee69cb8e38b9ab8a9667c6219da3a4afa7743d7fbf97ec4aedc68463f64736f6c63430008140033",
109
+ "linkReferences": {},
110
+ "deployedLinkReferences": {}
111
+ }