@etherisc/gif-next 0.0.2-d5522f6-712 → 0.0.2-d5fac82-078

Sign up to get free protection for your applications and to get access to all the features.
Files changed (536) hide show
  1. package/README.md +10 -14
  2. package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
  3. package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1395 -0
  4. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
  5. package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1575 -0
  6. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
  7. package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +851 -0
  8. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
  9. package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +1000 -0
  10. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
  11. package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +840 -0
  12. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
  13. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +73 -83
  14. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  15. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +278 -1362
  16. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  17. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +264 -218
  18. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  19. package/artifacts/contracts/instance/Instance.sol/Instance.json +459 -2530
  20. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
  21. package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +746 -0
  22. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  23. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +188 -0
  24. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  25. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +432 -280
  26. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +415 -380
  28. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  29. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +362 -95
  30. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  31. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2847 -0
  32. package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
  33. package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +6 -1
  34. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  35. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +49 -0
  36. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  37. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  38. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +93 -14
  39. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  40. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +38 -13
  41. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  42. package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
  43. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  44. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +13 -159
  45. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  46. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  47. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
  48. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  49. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  50. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  51. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  52. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  53. package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
  54. package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1307 -0
  55. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  56. package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +767 -0
  57. package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
  58. package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +291 -276
  59. package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
  60. package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/IPoolComponent.sol/IPoolComponent.json} +448 -195
  61. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
  62. package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1077 -0
  63. package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
  64. package/artifacts/contracts/pool/Pool.sol/Pool.json +1426 -0
  65. package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
  66. package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1641 -0
  67. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
  68. package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +779 -0
  69. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  70. package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +937 -0
  71. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  72. package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +719 -0
  73. package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
  74. package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1405 -0
  75. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  76. package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +819 -0
  77. package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  78. package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +218 -191
  79. package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
  80. package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +753 -0
  81. package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  82. package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +182 -302
  83. package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
  84. package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → product/IPricingService.sol/IPricingService.json} +241 -230
  85. package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
  86. package/artifacts/contracts/{components/Product.sol/Product.json → product/IProductComponent.sol/IProductComponent.json} +254 -168
  87. package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
  88. package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +72 -166
  89. package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
  90. package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1300 -0
  91. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  92. package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +811 -0
  93. package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
  94. package/artifacts/contracts/product/PricingService.sol/PricingService.json +1023 -0
  95. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  96. package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +759 -0
  97. package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
  98. package/artifacts/contracts/product/Product.sol/Product.json +1217 -0
  99. package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
  100. package/artifacts/contracts/product/ProductService.sol/ProductService.json +883 -0
  101. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  102. package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +711 -0
  103. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  104. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  105. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  106. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +209 -17
  107. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  108. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +225 -230
  109. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  110. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  111. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  112. package/artifacts/contracts/registry/Registry.sol/Registry.json +235 -43
  113. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
  114. package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +305 -0
  115. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  116. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +341 -254
  117. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  118. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +351 -84
  119. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
  120. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +540 -83
  121. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  122. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +148 -62
  123. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +4 -0
  124. package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.json +1193 -0
  125. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +4 -0
  126. package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +1715 -0
  127. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +4 -0
  128. package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +1728 -0
  129. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +4 -0
  130. package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +1747 -0
  131. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +4 -0
  132. package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +1765 -0
  133. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  134. package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  135. package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
  136. package/artifacts/contracts/shared/Component.sol/Component.json +892 -0
  137. package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
  138. package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/ComponentService.sol/ComponentService.json} +294 -126
  139. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  140. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  141. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +4 -0
  142. package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +1562 -0
  143. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +4 -0
  144. package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +1594 -0
  145. package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
  146. package/artifacts/contracts/{components/Distribution.sol/Distribution.json → shared/IComponent.sol/IComponent.json} +173 -212
  147. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  148. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +27 -29
  149. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  150. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +189 -0
  151. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  152. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +8 -34
  153. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  154. package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +15 -17
  155. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  156. package/artifacts/contracts/shared/IService.sol/IService.json +71 -165
  157. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  158. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  159. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  160. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +120 -47
  161. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  162. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +302 -0
  163. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  164. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +342 -61
  165. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  166. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +137 -53
  167. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  168. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
  169. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  170. package/artifacts/contracts/shared/Service.sol/Service.json +189 -150
  171. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  172. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +24 -6
  173. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  174. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  175. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  176. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  177. package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
  178. package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → staking/IStakingService.sol/IStakingService.json} +198 -207
  179. package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
  180. package/artifacts/contracts/staking/StakingService.sol/StakingService.json +786 -0
  181. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
  182. package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +699 -0
  183. package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
  184. package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
  185. package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
  186. package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
  187. package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
  188. package/artifacts/contracts/{types → type}/Blocknumber.sol/BlocknumberLib.json +3 -3
  189. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  190. package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
  191. package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
  192. package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
  193. package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
  194. package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
  195. package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
  196. package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
  197. package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
  198. package/artifacts/contracts/type/NftId.sol/NftIdLib.json +166 -0
  199. package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
  200. package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
  201. package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
  202. package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
  203. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  204. package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
  205. package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
  206. package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
  207. package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
  208. package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
  209. package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
  210. package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
  211. package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
  212. package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -0
  213. package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
  214. package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
  215. package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
  216. package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +39 -8
  217. package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
  218. package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
  219. package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
  220. package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
  221. package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
  222. package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
  223. package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
  224. package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
  225. package/contracts/distribution/Distribution.sol +285 -0
  226. package/contracts/distribution/DistributionService.sol +351 -0
  227. package/contracts/distribution/DistributionServiceManager.sol +42 -0
  228. package/contracts/distribution/IDistributionComponent.sol +71 -0
  229. package/contracts/distribution/IDistributionService.sol +87 -0
  230. package/contracts/instance/BundleManager.sol +22 -25
  231. package/contracts/instance/IInstance.sol +56 -41
  232. package/contracts/instance/IInstanceService.sol +50 -17
  233. package/contracts/instance/Instance.sol +151 -197
  234. package/contracts/instance/InstanceAdmin.sol +354 -0
  235. package/contracts/instance/InstanceAuthorizationsLib.sol +320 -0
  236. package/contracts/instance/InstanceReader.sol +102 -49
  237. package/contracts/instance/InstanceService.sol +200 -247
  238. package/contracts/instance/InstanceServiceManager.sol +12 -22
  239. package/contracts/instance/InstanceStore.sol +211 -0
  240. package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
  241. package/contracts/instance/base/IKeyValueStore.sol +14 -10
  242. package/contracts/instance/base/ILifecycle.sol +3 -3
  243. package/contracts/instance/base/KeyValueStore.sol +44 -47
  244. package/contracts/instance/base/Lifecycle.sol +28 -7
  245. package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +16 -35
  246. package/contracts/instance/module/IAccess.sol +17 -21
  247. package/contracts/instance/module/IBundle.sol +11 -8
  248. package/contracts/instance/module/IComponents.sol +41 -0
  249. package/contracts/instance/module/IDistribution.sol +7 -4
  250. package/contracts/instance/module/IPolicy.sol +50 -17
  251. package/contracts/instance/module/IRisk.sol +1 -1
  252. package/contracts/instance/module/ISetup.sol +9 -22
  253. package/contracts/instance/module/ITreasury.sol +2 -2
  254. package/contracts/pool/BundleService.sol +384 -0
  255. package/contracts/pool/BundleServiceManager.sol +42 -0
  256. package/contracts/pool/IBundleService.sol +118 -0
  257. package/contracts/pool/IPoolComponent.sol +114 -0
  258. package/contracts/pool/IPoolService.sol +114 -0
  259. package/contracts/pool/Pool.sol +302 -0
  260. package/contracts/pool/PoolService.sol +404 -0
  261. package/contracts/pool/PoolServiceManager.sol +42 -0
  262. package/contracts/product/ApplicationService.sol +187 -0
  263. package/contracts/product/ApplicationServiceManager.sol +38 -0
  264. package/contracts/product/ClaimService.sol +443 -0
  265. package/contracts/product/ClaimServiceManager.sol +38 -0
  266. package/contracts/product/IApplicationService.sol +62 -0
  267. package/contracts/product/IClaimService.sol +93 -0
  268. package/contracts/product/IPolicyService.sol +80 -0
  269. package/contracts/product/IPricingService.sol +37 -0
  270. package/contracts/product/IProductComponent.sol +41 -0
  271. package/contracts/{instance/service → product}/IProductService.sol +10 -10
  272. package/contracts/product/PolicyService.sol +378 -0
  273. package/contracts/product/PolicyServiceManager.sol +42 -0
  274. package/contracts/product/PricingService.sol +276 -0
  275. package/contracts/product/PricingServiceManager.sol +42 -0
  276. package/contracts/product/Product.sol +379 -0
  277. package/contracts/product/ProductService.sol +212 -0
  278. package/contracts/product/ProductServiceManager.sol +42 -0
  279. package/contracts/registry/ChainNft.sol +8 -0
  280. package/contracts/registry/IRegistry.sol +42 -21
  281. package/contracts/registry/IRegistryService.sol +42 -41
  282. package/contracts/registry/ITransferInterceptor.sol +1 -0
  283. package/contracts/registry/Registry.sol +165 -96
  284. package/contracts/registry/RegistryAdmin.sol +143 -0
  285. package/contracts/registry/RegistryService.sol +84 -171
  286. package/contracts/registry/RegistryServiceManager.sol +22 -24
  287. package/contracts/registry/ReleaseManager.sol +317 -202
  288. package/contracts/registry/TokenRegistry.sol +23 -15
  289. package/contracts/shared/AccessManagerCustom.sol +736 -0
  290. package/contracts/shared/AccessManagerExtended.sol +469 -0
  291. package/contracts/shared/AccessManagerExtendedInitializeable.sol +13 -0
  292. package/contracts/shared/AccessManagerExtendedWithDisable.sol +125 -0
  293. package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +14 -0
  294. package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +13 -0
  295. package/contracts/shared/Component.sol +271 -0
  296. package/contracts/shared/ComponentService.sol +141 -0
  297. package/contracts/shared/ERC165.sol +14 -12
  298. package/contracts/shared/IAccessManagerExtended.sol +74 -0
  299. package/contracts/shared/IAccessManagerExtendedWithDisable.sol +17 -0
  300. package/contracts/shared/IComponent.sol +90 -0
  301. package/contracts/shared/INftOwnable.sol +12 -11
  302. package/contracts/shared/IPolicyHolder.sol +40 -0
  303. package/contracts/shared/IRegisterable.sol +4 -6
  304. package/contracts/shared/IRegistryLinked.sol +11 -0
  305. package/contracts/shared/IService.sol +6 -4
  306. package/contracts/shared/IVersionable.sol +5 -48
  307. package/contracts/shared/NftOwnable.sol +68 -85
  308. package/contracts/shared/PolicyHolder.sol +94 -0
  309. package/contracts/shared/ProxyManager.sol +131 -25
  310. package/contracts/shared/Registerable.sol +26 -41
  311. package/contracts/shared/RegistryLinked.sol +43 -0
  312. package/contracts/shared/Service.sol +37 -23
  313. package/contracts/shared/TokenHandler.sol +14 -6
  314. package/contracts/shared/Versionable.sol +4 -92
  315. package/contracts/staking/IStakingService.sol +102 -0
  316. package/contracts/staking/StakingService.sol +169 -0
  317. package/contracts/staking/StakingServiceManager.sol +40 -0
  318. package/contracts/type/Amount.sol +109 -0
  319. package/contracts/{types → type}/Blocknumber.sol +1 -0
  320. package/contracts/type/ClaimId.sol +75 -0
  321. package/contracts/{types → type}/DistributorType.sol +2 -2
  322. package/contracts/{types → type}/Fee.sol +17 -8
  323. package/contracts/{types → type}/NftId.sol +8 -0
  324. package/contracts/{types → type}/NftIdSet.sol +1 -1
  325. package/contracts/{types → type}/ObjectType.sol +17 -7
  326. package/contracts/type/PayoutId.sol +82 -0
  327. package/contracts/{types → type}/Referral.sol +4 -0
  328. package/contracts/type/RoleId.sol +139 -0
  329. package/contracts/type/Seconds.sol +54 -0
  330. package/contracts/{types → type}/StateId.sol +7 -2
  331. package/contracts/{types → type}/Timestamp.sol +18 -13
  332. package/contracts/{types → type}/UFixed.sol +1 -0
  333. package/contracts/{types → type}/Version.sol +1 -0
  334. package/package.json +3 -3
  335. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  336. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
  337. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  338. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -397
  339. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
  340. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
  341. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
  342. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
  343. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
  344. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
  345. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
  346. package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
  347. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  348. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  349. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  350. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  351. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  352. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  353. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  354. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  355. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  356. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  357. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  358. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  359. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  360. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  361. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  362. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  363. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  364. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  365. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  366. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  367. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  368. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  369. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
  370. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  371. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  372. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  373. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  374. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  375. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  376. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  377. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  378. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  379. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  380. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  381. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  382. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  383. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  384. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  385. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  386. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
  387. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
  388. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
  389. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  390. package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.json +0 -448
  391. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
  392. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1047
  393. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
  394. package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
  395. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
  396. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
  397. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  398. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  399. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  400. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
  401. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1031
  402. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
  403. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -436
  404. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  405. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -814
  406. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
  407. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -693
  408. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
  409. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -420
  410. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
  411. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  412. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
  413. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
  414. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
  415. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
  416. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
  417. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
  418. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1156
  419. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
  420. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -492
  421. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
  422. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -727
  423. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
  424. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -420
  425. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
  426. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -777
  427. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
  428. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
  429. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
  430. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
  431. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
  432. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
  433. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  434. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
  435. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
  436. package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
  437. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
  438. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
  439. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
  440. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
  441. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
  442. package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
  443. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
  444. package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
  445. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
  446. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
  447. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
  448. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
  449. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
  450. package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
  451. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
  452. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
  453. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
  454. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
  455. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
  456. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
  457. package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
  458. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
  459. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
  460. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
  461. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
  462. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
  463. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
  464. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
  465. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
  466. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
  467. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
  468. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
  469. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
  470. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
  471. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
  472. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
  473. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
  474. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
  475. package/contracts/components/BaseComponent.sol +0 -159
  476. package/contracts/components/Distribution.sol +0 -164
  477. package/contracts/components/IBaseComponent.sol +0 -34
  478. package/contracts/components/IDistributionComponent.sol +0 -44
  479. package/contracts/components/IPoolComponent.sol +0 -66
  480. package/contracts/components/IProductComponent.sol +0 -35
  481. package/contracts/components/Pool.sol +0 -272
  482. package/contracts/components/Product.sol +0 -301
  483. package/contracts/experiment/cloning/Cloner.sol +0 -47
  484. package/contracts/experiment/errors/Require.sol +0 -38
  485. package/contracts/experiment/errors/Revert.sol +0 -44
  486. package/contracts/experiment/inheritance/A.sol +0 -53
  487. package/contracts/experiment/inheritance/B.sol +0 -28
  488. package/contracts/experiment/inheritance/C.sol +0 -34
  489. package/contracts/experiment/inheritance/IA.sol +0 -13
  490. package/contracts/experiment/inheritance/IB.sol +0 -10
  491. package/contracts/experiment/inheritance/IC.sol +0 -12
  492. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  493. package/contracts/experiment/statemachine/ISM.sol +0 -25
  494. package/contracts/experiment/statemachine/SM.sol +0 -57
  495. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  496. package/contracts/experiment/types/TypeA.sol +0 -47
  497. package/contracts/experiment/types/TypeB.sol +0 -29
  498. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
  499. package/contracts/instance/IInstanceBase.sol +0 -26
  500. package/contracts/instance/InstanceAccessManager.sol +0 -303
  501. package/contracts/instance/InstanceBase.sol +0 -41
  502. package/contracts/instance/base/ComponentServiceBase.sol +0 -76
  503. package/contracts/instance/base/IInstanceBase.sol +0 -23
  504. package/contracts/instance/service/BundleService.sol +0 -294
  505. package/contracts/instance/service/BundleServiceManager.sol +0 -51
  506. package/contracts/instance/service/ComponentOwnerService.sol +0 -315
  507. package/contracts/instance/service/DistributionService.sol +0 -120
  508. package/contracts/instance/service/DistributionServiceManager.sol +0 -51
  509. package/contracts/instance/service/IBundleService.sol +0 -44
  510. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  511. package/contracts/instance/service/IDistributionService.sol +0 -12
  512. package/contracts/instance/service/IPolicyService.sol +0 -94
  513. package/contracts/instance/service/IPoolService.sol +0 -20
  514. package/contracts/instance/service/PolicyService.sol +0 -539
  515. package/contracts/instance/service/PolicyServiceManager.sol +0 -54
  516. package/contracts/instance/service/PoolService.sol +0 -145
  517. package/contracts/instance/service/PoolServiceManager.sol +0 -51
  518. package/contracts/instance/service/ProductService.sol +0 -213
  519. package/contracts/instance/service/ProductServiceManager.sol +0 -54
  520. package/contracts/registry/RegistryAccessManager.sol +0 -210
  521. package/contracts/shared/ContractDeployerLib.sol +0 -72
  522. package/contracts/shared/RegisterableUpgradable.sol +0 -16
  523. package/contracts/test/TestFee.sol +0 -25
  524. package/contracts/test/TestRegisterable.sol +0 -18
  525. package/contracts/test/TestRoleId.sol +0 -14
  526. package/contracts/test/TestService.sol +0 -25
  527. package/contracts/test/TestToken.sol +0 -26
  528. package/contracts/test/TestVersion.sol +0 -44
  529. package/contracts/test/TestVersionable.sol +0 -17
  530. package/contracts/test/Usdc.sol +0 -26
  531. package/contracts/types/ChainId.sol +0 -38
  532. package/contracts/types/NumberId.sol +0 -52
  533. package/contracts/types/RoleId.sol +0 -90
  534. /package/contracts/{types → type}/AddressSet.sol +0 -0
  535. /package/contracts/{types → type}/Key32.sol +0 -0
  536. /package/contracts/{types → type}/RiskId.sol +0 -0
@@ -0,0 +1,746 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "InstanceAdmin",
4
+ "sourceName": "contracts/instance/InstanceAdmin.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "authority",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "name": "AccessManagedInvalidAuthority",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "caller",
22
+ "type": "address"
23
+ },
24
+ {
25
+ "internalType": "uint32",
26
+ "name": "delay",
27
+ "type": "uint32"
28
+ }
29
+ ],
30
+ "name": "AccessManagedRequiredDelay",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [
35
+ {
36
+ "internalType": "address",
37
+ "name": "caller",
38
+ "type": "address"
39
+ }
40
+ ],
41
+ "name": "AccessManagedUnauthorized",
42
+ "type": "error"
43
+ },
44
+ {
45
+ "inputs": [
46
+ {
47
+ "internalType": "RoleId",
48
+ "name": "roleId",
49
+ "type": "uint64"
50
+ }
51
+ ],
52
+ "name": "ErrorIAccessRoleIdTooBig",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [
57
+ {
58
+ "internalType": "RoleId",
59
+ "name": "roleId",
60
+ "type": "uint64"
61
+ }
62
+ ],
63
+ "name": "ErrorIAccessRoleIdTooSmall",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [
68
+ {
69
+ "internalType": "RoleId",
70
+ "name": "roleId",
71
+ "type": "uint64"
72
+ },
73
+ {
74
+ "internalType": "enum IAccess.Type",
75
+ "name": "rtype",
76
+ "type": "uint8"
77
+ }
78
+ ],
79
+ "name": "ErrorIAccessRoleTypeInvalid",
80
+ "type": "error"
81
+ },
82
+ {
83
+ "inputs": [
84
+ {
85
+ "internalType": "address",
86
+ "name": "target",
87
+ "type": "address"
88
+ }
89
+ ],
90
+ "name": "ErrorIAccessTargetNotRegistered",
91
+ "type": "error"
92
+ },
93
+ {
94
+ "inputs": [
95
+ {
96
+ "internalType": "address",
97
+ "name": "target",
98
+ "type": "address"
99
+ },
100
+ {
101
+ "internalType": "enum IAccess.Type",
102
+ "name": "ttype",
103
+ "type": "uint8"
104
+ }
105
+ ],
106
+ "name": "ErrorIAccessTargetTypeInvalid",
107
+ "type": "error"
108
+ },
109
+ {
110
+ "inputs": [],
111
+ "name": "InvalidInitialization",
112
+ "type": "error"
113
+ },
114
+ {
115
+ "inputs": [],
116
+ "name": "NotInitializing",
117
+ "type": "error"
118
+ },
119
+ {
120
+ "anonymous": false,
121
+ "inputs": [
122
+ {
123
+ "indexed": false,
124
+ "internalType": "address",
125
+ "name": "authority",
126
+ "type": "address"
127
+ }
128
+ ],
129
+ "name": "AuthorityUpdated",
130
+ "type": "event"
131
+ },
132
+ {
133
+ "anonymous": false,
134
+ "inputs": [
135
+ {
136
+ "indexed": false,
137
+ "internalType": "uint64",
138
+ "name": "version",
139
+ "type": "uint64"
140
+ }
141
+ ],
142
+ "name": "Initialized",
143
+ "type": "event"
144
+ },
145
+ {
146
+ "inputs": [],
147
+ "name": "CUSTOM_ROLE_ID_MIN",
148
+ "outputs": [
149
+ {
150
+ "internalType": "uint64",
151
+ "name": "",
152
+ "type": "uint64"
153
+ }
154
+ ],
155
+ "stateMutability": "view",
156
+ "type": "function"
157
+ },
158
+ {
159
+ "inputs": [],
160
+ "name": "EXECUTION_DELAY",
161
+ "outputs": [
162
+ {
163
+ "internalType": "uint32",
164
+ "name": "",
165
+ "type": "uint32"
166
+ }
167
+ ],
168
+ "stateMutability": "view",
169
+ "type": "function"
170
+ },
171
+ {
172
+ "inputs": [],
173
+ "name": "INSTANCE_ADMIN_TARGET_NAME",
174
+ "outputs": [
175
+ {
176
+ "internalType": "string",
177
+ "name": "",
178
+ "type": "string"
179
+ }
180
+ ],
181
+ "stateMutability": "view",
182
+ "type": "function"
183
+ },
184
+ {
185
+ "inputs": [],
186
+ "name": "INSTANCE_OWNER_ROLE_NAME",
187
+ "outputs": [
188
+ {
189
+ "internalType": "string",
190
+ "name": "",
191
+ "type": "string"
192
+ }
193
+ ],
194
+ "stateMutability": "view",
195
+ "type": "function"
196
+ },
197
+ {
198
+ "inputs": [],
199
+ "name": "INSTANCE_ROLE_NAME",
200
+ "outputs": [
201
+ {
202
+ "internalType": "string",
203
+ "name": "",
204
+ "type": "string"
205
+ }
206
+ ],
207
+ "stateMutability": "view",
208
+ "type": "function"
209
+ },
210
+ {
211
+ "inputs": [],
212
+ "name": "authority",
213
+ "outputs": [
214
+ {
215
+ "internalType": "address",
216
+ "name": "",
217
+ "type": "address"
218
+ }
219
+ ],
220
+ "stateMutability": "view",
221
+ "type": "function"
222
+ },
223
+ {
224
+ "inputs": [
225
+ {
226
+ "internalType": "RoleId",
227
+ "name": "roleId",
228
+ "type": "uint64"
229
+ },
230
+ {
231
+ "internalType": "string",
232
+ "name": "name",
233
+ "type": "string"
234
+ }
235
+ ],
236
+ "name": "createCoreRole",
237
+ "outputs": [],
238
+ "stateMutability": "nonpayable",
239
+ "type": "function"
240
+ },
241
+ {
242
+ "inputs": [
243
+ {
244
+ "internalType": "address",
245
+ "name": "target",
246
+ "type": "address"
247
+ },
248
+ {
249
+ "internalType": "string",
250
+ "name": "name",
251
+ "type": "string"
252
+ }
253
+ ],
254
+ "name": "createCoreTarget",
255
+ "outputs": [],
256
+ "stateMutability": "nonpayable",
257
+ "type": "function"
258
+ },
259
+ {
260
+ "inputs": [
261
+ {
262
+ "internalType": "RoleId",
263
+ "name": "roleId",
264
+ "type": "uint64"
265
+ },
266
+ {
267
+ "internalType": "string",
268
+ "name": "name",
269
+ "type": "string"
270
+ },
271
+ {
272
+ "internalType": "RoleId",
273
+ "name": "admin",
274
+ "type": "uint64"
275
+ }
276
+ ],
277
+ "name": "createGifRole",
278
+ "outputs": [],
279
+ "stateMutability": "nonpayable",
280
+ "type": "function"
281
+ },
282
+ {
283
+ "inputs": [
284
+ {
285
+ "internalType": "address",
286
+ "name": "target",
287
+ "type": "address"
288
+ },
289
+ {
290
+ "internalType": "string",
291
+ "name": "name",
292
+ "type": "string"
293
+ }
294
+ ],
295
+ "name": "createGifTarget",
296
+ "outputs": [],
297
+ "stateMutability": "nonpayable",
298
+ "type": "function"
299
+ },
300
+ {
301
+ "inputs": [
302
+ {
303
+ "internalType": "string",
304
+ "name": "roleName",
305
+ "type": "string"
306
+ },
307
+ {
308
+ "internalType": "string",
309
+ "name": "adminName",
310
+ "type": "string"
311
+ }
312
+ ],
313
+ "name": "createRole",
314
+ "outputs": [
315
+ {
316
+ "internalType": "RoleId",
317
+ "name": "roleId",
318
+ "type": "uint64"
319
+ },
320
+ {
321
+ "internalType": "RoleId",
322
+ "name": "admin",
323
+ "type": "uint64"
324
+ }
325
+ ],
326
+ "stateMutability": "nonpayable",
327
+ "type": "function"
328
+ },
329
+ {
330
+ "inputs": [
331
+ {
332
+ "internalType": "address",
333
+ "name": "target",
334
+ "type": "address"
335
+ },
336
+ {
337
+ "internalType": "string",
338
+ "name": "name",
339
+ "type": "string"
340
+ }
341
+ ],
342
+ "name": "createTarget",
343
+ "outputs": [],
344
+ "stateMutability": "nonpayable",
345
+ "type": "function"
346
+ },
347
+ {
348
+ "inputs": [
349
+ {
350
+ "internalType": "RoleId",
351
+ "name": "roleId",
352
+ "type": "uint64"
353
+ },
354
+ {
355
+ "internalType": "address",
356
+ "name": "account",
357
+ "type": "address"
358
+ }
359
+ ],
360
+ "name": "hasRole",
361
+ "outputs": [
362
+ {
363
+ "internalType": "bool",
364
+ "name": "accountHasRole",
365
+ "type": "bool"
366
+ }
367
+ ],
368
+ "stateMutability": "view",
369
+ "type": "function"
370
+ },
371
+ {
372
+ "inputs": [
373
+ {
374
+ "internalType": "address",
375
+ "name": "instanceAddress",
376
+ "type": "address"
377
+ }
378
+ ],
379
+ "name": "initialize",
380
+ "outputs": [],
381
+ "stateMutability": "nonpayable",
382
+ "type": "function"
383
+ },
384
+ {
385
+ "inputs": [],
386
+ "name": "isConsumingScheduledOp",
387
+ "outputs": [
388
+ {
389
+ "internalType": "bytes4",
390
+ "name": "",
391
+ "type": "bytes4"
392
+ }
393
+ ],
394
+ "stateMutability": "view",
395
+ "type": "function"
396
+ },
397
+ {
398
+ "inputs": [
399
+ {
400
+ "internalType": "address",
401
+ "name": "target",
402
+ "type": "address"
403
+ }
404
+ ],
405
+ "name": "isTargetLocked",
406
+ "outputs": [
407
+ {
408
+ "internalType": "bool",
409
+ "name": "locked",
410
+ "type": "bool"
411
+ }
412
+ ],
413
+ "stateMutability": "view",
414
+ "type": "function"
415
+ },
416
+ {
417
+ "inputs": [
418
+ {
419
+ "internalType": "address",
420
+ "name": "newAuthority",
421
+ "type": "address"
422
+ }
423
+ ],
424
+ "name": "setAuthority",
425
+ "outputs": [],
426
+ "stateMutability": "nonpayable",
427
+ "type": "function"
428
+ },
429
+ {
430
+ "inputs": [
431
+ {
432
+ "internalType": "string",
433
+ "name": "targetName",
434
+ "type": "string"
435
+ },
436
+ {
437
+ "internalType": "bytes4[]",
438
+ "name": "selectors",
439
+ "type": "bytes4[]"
440
+ },
441
+ {
442
+ "internalType": "RoleId",
443
+ "name": "roleId",
444
+ "type": "uint64"
445
+ }
446
+ ],
447
+ "name": "setCoreTargetFunctionRole",
448
+ "outputs": [],
449
+ "stateMutability": "nonpayable",
450
+ "type": "function"
451
+ },
452
+ {
453
+ "inputs": [
454
+ {
455
+ "internalType": "RoleId",
456
+ "name": "roleId",
457
+ "type": "uint64"
458
+ },
459
+ {
460
+ "internalType": "RoleId",
461
+ "name": "admin",
462
+ "type": "uint64"
463
+ }
464
+ ],
465
+ "name": "setRoleAdmin",
466
+ "outputs": [],
467
+ "stateMutability": "nonpayable",
468
+ "type": "function"
469
+ },
470
+ {
471
+ "inputs": [
472
+ {
473
+ "internalType": "string",
474
+ "name": "targetName",
475
+ "type": "string"
476
+ },
477
+ {
478
+ "internalType": "bytes4[]",
479
+ "name": "selectors",
480
+ "type": "bytes4[]"
481
+ },
482
+ {
483
+ "internalType": "RoleId",
484
+ "name": "roleId",
485
+ "type": "uint64"
486
+ }
487
+ ],
488
+ "name": "setTargetFunctionRole",
489
+ "outputs": [],
490
+ "stateMutability": "nonpayable",
491
+ "type": "function"
492
+ },
493
+ {
494
+ "inputs": [
495
+ {
496
+ "internalType": "address",
497
+ "name": "target",
498
+ "type": "address"
499
+ },
500
+ {
501
+ "internalType": "bool",
502
+ "name": "locked",
503
+ "type": "bool"
504
+ }
505
+ ],
506
+ "name": "setTargetLockedByInstance",
507
+ "outputs": [],
508
+ "stateMutability": "nonpayable",
509
+ "type": "function"
510
+ },
511
+ {
512
+ "inputs": [
513
+ {
514
+ "internalType": "address",
515
+ "name": "target",
516
+ "type": "address"
517
+ },
518
+ {
519
+ "internalType": "bool",
520
+ "name": "locked",
521
+ "type": "bool"
522
+ }
523
+ ],
524
+ "name": "setTargetLockedByService",
525
+ "outputs": [],
526
+ "stateMutability": "nonpayable",
527
+ "type": "function"
528
+ },
529
+ {
530
+ "inputs": [
531
+ {
532
+ "internalType": "address",
533
+ "name": "from",
534
+ "type": "address"
535
+ },
536
+ {
537
+ "internalType": "address",
538
+ "name": "to",
539
+ "type": "address"
540
+ }
541
+ ],
542
+ "name": "transferInstanceOwnerRole",
543
+ "outputs": [],
544
+ "stateMutability": "nonpayable",
545
+ "type": "function"
546
+ }
547
+ ],
548
+ "bytecode": "0x608060405234801561001057600080fd5b50612b62806100206000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80635e85734a116100c3578063bf7e214f1161007c578063bf7e214f14610306578063c4d66de814610326578063d054044314610339578063d1f856ee14610364578063d2192dbf14610377578063f2345aea146103aa57600080fd5b80635e85734a146102805780635fa8aad414610293578063608b081e146102a65780637a9e5e4b146102d25780638fb36037146102e55780639dfd7b18146101c057600080fd5b806329db8c3d1161011557806329db8c3d146101f657806330cae1871461020957806337f135d71461021c57806344ec4c30146102395780634a3a1e001461024c5780635dfa73db1461025f57600080fd5b80630c8ae53e1461015257806312f48f1514610167578063131021d91461017a57806322db471c146101c057806326decd40146101d3575b600080fd5b6101656101603660046124c9565b6103bd565b005b610165610175366004612588565b610538565b6101aa60405180604001604052806011815260200170496e7374616e63654f776e6572526f6c6560781b81525081565b6040516101b79190612627565b60405180910390f35b6101656101ce36600461264f565b610551565b6101e66101e1366004612688565b610564565b60405190151581526020016101b7565b6101656102043660046124c9565b6105e0565b6101656102173660046126a5565b610708565b610224600081565b60405163ffffffff90911681526020016101b7565b610165610247366004612588565b61071b565b61016561025a3660046126d3565b6107c8565b61026861271081565b6040516001600160401b0390911681526020016101b7565b61016561028e3660046126f1565b6107dd565b6101656102a1366004612588565b6110a5565b6101aa6040518060400160405280600d81526020016c24b739ba30b731b2a0b236b4b760991b81525081565b6101656102e0366004612688565b6110ba565b6102ed61113d565b6040516001600160e01b031990911681526020016101b7565b61030e611176565b6040516001600160a01b0390911681526020016101b7565b610165610334366004612688565b611192565b6101aa6040518060400160405280600c81526020016b496e7374616e6365526f6c6560a01b81525081565b6101e661037236600461271f565b6114e5565b61038a61038536600461273d565b6115e4565b604080516001600160401b039384168152929091166020830152016101b7565b6101656103b8366004612796565b611637565b6103ca335b60003661165b565b600254604051630d95920760e21b8152600091600160401b90046001600160a01b031690633656481c90610402908890600401612627565b602060405180830381865afa15801561041f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044391906127f9565b905060036001600160a01b03821660009081526020819052604090205460ff16600381111561047457610474612816565b036104a05780600360405163ecec011f60e01b815260040161049792919061284e565b60405180910390fd5b60036001600160401b03831660009081526001602052604090205460ff1660038111156104cf576104cf612816565b036104f257816003604051630bb1a0c760e01b815260040161049792919061286b565b61053181858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250879250611759915050565b5050505050565b610541336103c2565b61054d82826001611849565b5050565b61055a336103c2565b61054d82826118bb565b60025460405163a166aa8960e01b81526001600160a01b038381166004830152600092600160401b9004169063a166aa8990602401602060405180830381865afa1580156105b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105da9190612888565b92915050565b6105e9336103c2565b600254604051630d95920760e21b8152600091600160401b90046001600160a01b031690633656481c90610621908890600401612627565b602060405180830381865afa15801561063e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066291906127f9565b905060016001600160a01b03821660009081526020819052604090205460ff16600381111561069357610693612816565b036106b65780600160405163ecec011f60e01b815260040161049792919061284e565b60016001600160401b03831660009081526001602052604090205460ff1660038111156106e5576106e5612816565b036104f257816001604051630bb1a0c760e01b815260040161049792919061286b565b610711336103c2565b61054d828261196b565b610724336103c2565b6004805460405163c3c5a54760e01b81526001600160a01b038581169382019390935291169063c3c5a54790602401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190612888565b6107bc576040516306ad3ea560e51b81526001600160a01b0383166004820152602401610497565b61054d82826002611849565b6107d1336103c2565b61054d82826001611b2d565b6107e6336103c2565b600254600160401b90046001600160a01b031663a5808e2f610806611c29565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af415801561085f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088391906128a5565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865afa1580156108c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108eb91906128c2565b6001146108fa576108fa6128db565b6002546000908190600160401b90046001600160a01b031663d1f856ee61091f611c29565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c91906128a5565b6003546040516001600160e01b031960e085901b1681526109ca92916001600160a01b0316906004016128f1565b6040805180830381865afa1580156109e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0a9190612913565b63ffffffff169150915081610a2157610a216128db565b8015610a2f57610a2f6128db565b610a37611ca7565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610a90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab491906128a5565b6002546001600160401b039190911690600160401b90046001600160a01b031663530dd456610ae1611ce2565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e91906128a5565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865afa158015610ba2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc691906128a5565b6001600160401b031614610bdc57610bdc6128db565b6001600160a01b03841615610d0457600254600160401b90046001600160a01b031663a5808e2f610c0b611ce2565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610c64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8891906128a5565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865afa158015610ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf091906128c2565b600114610cff57610cff6128db565b610e16565b600254600160401b90046001600160a01b031663a5808e2f610d24611ce2565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610d7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da191906128a5565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865afa158015610de5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0991906128c2565b15610e1657610e166128db565b826001600160a01b0316846001600160a01b031603610e3757610e376128db565b610e48610e42611ce2565b84611d1e565b6001600160a01b03841615610e6a57610e68610e62611ce2565b85611df7565b505b600254600160401b90046001600160a01b031663a5808e2f610e8a611ce2565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0791906128a5565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865afa158015610f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6f91906128c2565b600114610f7e57610f7e6128db565b600254600160401b90046001600160a01b031663d1f856ee610f9e611ce2565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906128a5565b856040518363ffffffff1660e01b81526004016110399291906128f1565b6040805180830381865afa158015611055573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110799190612913565b90925063ffffffff16905081611091576110916128db565b801561109f5761109f6128db565b50505050565b6110ae336103c2565b61054d82826003611849565b336110c3611176565b6001600160a01b0316816001600160a01b0316146110fe5760405162d1953b60e31b81526001600160a01b0382166004820152602401610497565b816001600160a01b03163b600003611134576040516361798f2f60e11b81526001600160a01b0383166004820152602401610497565b61054d82611ee6565b600080516020612b0d833981519152805460009190600160a01b900460ff16611167576000611170565b638fb3603760e01b5b91505090565b600080516020612b0d833981519152546001600160a01b031690565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156111d75750825b90506000826001600160401b031660011480156111f35750303b155b905081158015611201575080155b1561121f5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561124957845460ff60401b1916600160401b1785555b60008690506000816001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561128e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b291906127f9565b90506000826001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131891906127f9565b905061132381611f47565b60028054600380546001600160a01b038781166001600160a01b03199283161790925560048054878416921691909117905567ffffffffffffffff19908416600160401b02166001600160e01b0319909116176127101790556113b3611387611c29565b6040518060400160405280600c81526020016b496e7374616e6365526f6c6560a01b8152506001611b2d565b6113ef6113be611ce2565b60405180604001604052806011815260200170496e7374616e63654f776e6572526f6c6560781b8152506001611b2d565b6113fa610e42611c29565b61142b306040518060400160405280600d81526020016c24b739ba30b731b2a0b236b4b760991b8152506001611849565b60408051600180825281830190925260009160208083019080368337019050509050635e85734a60e01b816000815181106114685761146861294b565b6001600160e01b031990921660209283029190910190910152611493308261148e611c29565b611759565b5050505083156114dd57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b600254604051631517388760e21b81526001600160401b0384166004820152600091600160401b90046001600160a01b03169063d1f856ee9073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af415801561155a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157e91906128a5565b846040518363ffffffff1660e01b815260040161159c9291906128f1565b6040805180830381865afa1580156115b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115dc9190612913565b509392505050565b6000806115f0336103c2565b6115f8611f5b565b909250905061160982856003611b2d565b61161581846003611b2d565b61161f828261196b565b6116308161162b611ce2565b61196b565b9250929050565b611640336103c2565b61164c83836002611b2d565b611656838261196b565b505050565b600080516020612b0d833981519152600080611696611678611176565b8730611688600460008a8c612961565b6116919161298b565b61209e565b91509150816114dd5763ffffffff81161561173657825460ff60a01b1916600160a01b1783556116c4611176565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016116f3939291906129bb565b600060405180830381600087803b15801561170d57600080fd5b505af1158015611721573d6000803e3d6000fd5b5050845460ff60a01b19168555506114dd9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610497565b600254604051631517388760e21b81526001600160401b0383166004820152600160401b9091046001600160a01b0316906308d6122d908590859073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af41580156117d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f491906128a5565b6040518463ffffffff1660e01b8152600401611812939291906129fb565b600060405180830381600087803b15801561182c57600080fd5b505af1158015611840573d6000803e3d6000fd5b50505050505050565b6001600160a01b0383166000908152602081905260409020805482919060ff1916600183600381111561187e5761187e612816565b02179055506002546040516317ea2ab560e21b8152600160401b9091046001600160a01b031690635fa8aad4906118129086908690600401612a6d565b6001600160a01b03821660009081526020819052604081205460ff16908160038111156118ea576118ea612816565b14806119075750600181600381111561190557611905612816565b145b1561192957828160405163ecec011f60e01b815260040161049792919061284e565b60025460405163167bd39560e01b81526001600160a01b0385811660048301528415156024830152600160401b9092049091169063167bd39590604401611812565b60016001600160401b03831660009081526001602052604090205460ff16600381111561199a5761199a612816565b036119bd57816001604051630bb1a0c760e01b815260040161049792919061286b565b600254604051631517388760e21b81526001600160401b0384166004820152600160401b9091046001600160a01b0316906330cae1879073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015611a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5491906128a5565b604051631517388760e21b81526001600160401b038516600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015611aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad091906128a5565b6040516001600160e01b031960e085901b1681526001600160401b039283166004820152911660248201526044015b600060405180830381600087803b158015611b1957600080fd5b505af11580156114dd573d6000803e3d6000fd5b611b3783826121aa565b6001600160401b03831660009081526001602081905260409091208054839260ff1990911690836003811115611b6f57611b6f612816565b0217905550600254604051631517388760e21b81526001600160401b0385166004820152600160401b9091046001600160a01b0316906368ed5d2e9073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015611be7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0b91906128a5565b846040518363ffffffff1660e01b8152600401611812929190612a99565b6040516368aebf7b60e01b8152610a28600482015260009073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b906024015b602060405180830381865af4158015611c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca291906128a5565b905090565b6040516368aebf7b60e01b81526000600482018190529073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401611c61565b6040516368aebf7b60e01b815261076c600482015260009073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401611c61565b600254604051631517388760e21b81526001600160401b0384166004820152600160401b9091046001600160a01b0316906325c471a09073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015611d91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db591906128a5565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038416602482015260006044820152606401611aff565b600254604051631517388760e21b81526001600160401b0384166004820152600091600160401b90046001600160a01b03169063b7d2b1629073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015611e6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9091906128a5565b846040518363ffffffff1660e01b8152600401611eae9291906128f1565b600060405180830381600087803b158015611ec857600080fd5b505af1158015611edc573d6000803e3d6000fd5b5050505092915050565b600080516020612b0d83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b611f4f612365565b611f58816123b0565b50565b60025460009081906001600160401b031681611f78826001612abb565b9050611f85826002612abb565b6002805467ffffffffffffffff19166001600160401b039283161790556040516368aebf7b60e01b8152908316600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401602060405180830381865af4158015611ff3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201791906128a5565b6040516368aebf7b60e01b81526001600160401b038316600482015290945073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401602060405180830381865af4158015612072573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209691906128a5565b925050509091565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b1790525161210d9190612af0565b600060405180830381855afa9150503d8060008114612148576040519150601f19603f3d011682016040523d82523d6000602084013e61214d565b606091505b5091509150811561219f57604081511061217f57808060200190518101906121759190612913565b909450925061219f565b602081511061219f578080602001905181019061219c9190612888565b93505b505094509492505050565b604051631517388760e21b81526001600160401b038316600482015260009073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015612205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061222991906128a5565b6001600160401b03169050600382600381111561224857612248612816565b148015612256575061271081105b1561227f5760405163be511cc160e01b81526001600160401b0384166004820152602401610497565b600382600381111561229357612293612816565b141580156122a357506127108110155b801561233c57506122b26123c1565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af415801561230b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232f91906128a5565b6001600160401b03168114155b1561165657604051630e08ff2d60e11b81526001600160401b0384166004820152602401610497565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166123ae57604051631afcd79f60e31b815260040160405180910390fd5b565b6123b8612365565b611f5881611ee6565b6040516368aebf7b60e01b81526001600160401b03600482015260009073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401611c61565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261242957600080fd5b81356001600160401b038082111561244357612443612402565b604051601f8301601f19908116603f0116810190828211818310171561246b5761246b612402565b8160405283815286602085880101111561248457600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160401b0381168114611f5857600080fd5b80356124c4816124a4565b919050565b600080600080606085870312156124df57600080fd5b84356001600160401b03808211156124f657600080fd5b61250288838901612418565b9550602087013591508082111561251857600080fd5b818701915087601f83011261252c57600080fd5b81358181111561253b57600080fd5b8860208260051b850101111561255057600080fd5b602083019550809450505050612568604086016124b9565b905092959194509250565b6001600160a01b0381168114611f5857600080fd5b6000806040838503121561259b57600080fd5b82356125a681612573565b915060208301356001600160401b038111156125c157600080fd5b6125cd85828601612418565b9150509250929050565b60005b838110156125f25781810151838201526020016125da565b50506000910152565b600081518084526126138160208601602086016125d7565b601f01601f19169290920160200192915050565b60208152600061263a60208301846125fb565b9392505050565b8015158114611f5857600080fd5b6000806040838503121561266257600080fd5b823561266d81612573565b9150602083013561267d81612641565b809150509250929050565b60006020828403121561269a57600080fd5b813561263a81612573565b600080604083850312156126b857600080fd5b82356126c3816124a4565b9150602083013561267d816124a4565b600080604083850312156126e657600080fd5b82356125a6816124a4565b6000806040838503121561270457600080fd5b823561270f81612573565b9150602083013561267d81612573565b6000806040838503121561273257600080fd5b823561270f816124a4565b6000806040838503121561275057600080fd5b82356001600160401b038082111561276757600080fd5b61277386838701612418565b9350602085013591508082111561278957600080fd5b506125cd85828601612418565b6000806000606084860312156127ab57600080fd5b83356127b6816124a4565b925060208401356001600160401b038111156127d157600080fd5b6127dd86828701612418565b92505060408401356127ee816124a4565b809150509250925092565b60006020828403121561280b57600080fd5b815161263a81612573565b634e487b7160e01b600052602160045260246000fd5b6004811061284a57634e487b7160e01b600052602160045260246000fd5b9052565b6001600160a01b03831681526040810161263a602083018461282c565b6001600160401b03831681526040810161263a602083018461282c565b60006020828403121561289a57600080fd5b815161263a81612641565b6000602082840312156128b757600080fd5b815161263a816124a4565b6000602082840312156128d457600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b6001600160401b039290921682526001600160a01b0316602082015260400190565b6000806040838503121561292657600080fd5b825161293181612641565b602084015190925063ffffffff8116811461267d57600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561297157600080fd5b8386111561297e57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156129b35780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b6001600160a01b038416815260606020808301829052845191830182905260009185820191906080850190845b81811015612a4e5784516001600160e01b03191683529383019391830191600101612a28565b50508093505050506001600160401b0383166040830152949350505050565b6001600160a01b0383168152604060208201819052600090612a91908301846125fb565b949350505050565b6001600160401b0383168152604060208201526000612a9160408301846125fb565b6001600160401b03818116838216019080821115612ae957634e487b7160e01b600052601160045260246000fd5b5092915050565b60008251612b028184602087016125d7565b919091019291505056fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220293d7330cd4d75da3dc2f440291e32142b7a425fffe43bc3e80cd0629f8496fa64736f6c63430008140033",
549
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80635e85734a116100c3578063bf7e214f1161007c578063bf7e214f14610306578063c4d66de814610326578063d054044314610339578063d1f856ee14610364578063d2192dbf14610377578063f2345aea146103aa57600080fd5b80635e85734a146102805780635fa8aad414610293578063608b081e146102a65780637a9e5e4b146102d25780638fb36037146102e55780639dfd7b18146101c057600080fd5b806329db8c3d1161011557806329db8c3d146101f657806330cae1871461020957806337f135d71461021c57806344ec4c30146102395780634a3a1e001461024c5780635dfa73db1461025f57600080fd5b80630c8ae53e1461015257806312f48f1514610167578063131021d91461017a57806322db471c146101c057806326decd40146101d3575b600080fd5b6101656101603660046124c9565b6103bd565b005b610165610175366004612588565b610538565b6101aa60405180604001604052806011815260200170496e7374616e63654f776e6572526f6c6560781b81525081565b6040516101b79190612627565b60405180910390f35b6101656101ce36600461264f565b610551565b6101e66101e1366004612688565b610564565b60405190151581526020016101b7565b6101656102043660046124c9565b6105e0565b6101656102173660046126a5565b610708565b610224600081565b60405163ffffffff90911681526020016101b7565b610165610247366004612588565b61071b565b61016561025a3660046126d3565b6107c8565b61026861271081565b6040516001600160401b0390911681526020016101b7565b61016561028e3660046126f1565b6107dd565b6101656102a1366004612588565b6110a5565b6101aa6040518060400160405280600d81526020016c24b739ba30b731b2a0b236b4b760991b81525081565b6101656102e0366004612688565b6110ba565b6102ed61113d565b6040516001600160e01b031990911681526020016101b7565b61030e611176565b6040516001600160a01b0390911681526020016101b7565b610165610334366004612688565b611192565b6101aa6040518060400160405280600c81526020016b496e7374616e6365526f6c6560a01b81525081565b6101e661037236600461271f565b6114e5565b61038a61038536600461273d565b6115e4565b604080516001600160401b039384168152929091166020830152016101b7565b6101656103b8366004612796565b611637565b6103ca335b60003661165b565b600254604051630d95920760e21b8152600091600160401b90046001600160a01b031690633656481c90610402908890600401612627565b602060405180830381865afa15801561041f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044391906127f9565b905060036001600160a01b03821660009081526020819052604090205460ff16600381111561047457610474612816565b036104a05780600360405163ecec011f60e01b815260040161049792919061284e565b60405180910390fd5b60036001600160401b03831660009081526001602052604090205460ff1660038111156104cf576104cf612816565b036104f257816003604051630bb1a0c760e01b815260040161049792919061286b565b61053181858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250879250611759915050565b5050505050565b610541336103c2565b61054d82826001611849565b5050565b61055a336103c2565b61054d82826118bb565b60025460405163a166aa8960e01b81526001600160a01b038381166004830152600092600160401b9004169063a166aa8990602401602060405180830381865afa1580156105b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105da9190612888565b92915050565b6105e9336103c2565b600254604051630d95920760e21b8152600091600160401b90046001600160a01b031690633656481c90610621908890600401612627565b602060405180830381865afa15801561063e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066291906127f9565b905060016001600160a01b03821660009081526020819052604090205460ff16600381111561069357610693612816565b036106b65780600160405163ecec011f60e01b815260040161049792919061284e565b60016001600160401b03831660009081526001602052604090205460ff1660038111156106e5576106e5612816565b036104f257816001604051630bb1a0c760e01b815260040161049792919061286b565b610711336103c2565b61054d828261196b565b610724336103c2565b6004805460405163c3c5a54760e01b81526001600160a01b038581169382019390935291169063c3c5a54790602401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190612888565b6107bc576040516306ad3ea560e51b81526001600160a01b0383166004820152602401610497565b61054d82826002611849565b6107d1336103c2565b61054d82826001611b2d565b6107e6336103c2565b600254600160401b90046001600160a01b031663a5808e2f610806611c29565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af415801561085f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088391906128a5565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865afa1580156108c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108eb91906128c2565b6001146108fa576108fa6128db565b6002546000908190600160401b90046001600160a01b031663d1f856ee61091f611c29565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c91906128a5565b6003546040516001600160e01b031960e085901b1681526109ca92916001600160a01b0316906004016128f1565b6040805180830381865afa1580156109e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0a9190612913565b63ffffffff169150915081610a2157610a216128db565b8015610a2f57610a2f6128db565b610a37611ca7565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610a90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab491906128a5565b6002546001600160401b039190911690600160401b90046001600160a01b031663530dd456610ae1611ce2565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e91906128a5565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865afa158015610ba2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc691906128a5565b6001600160401b031614610bdc57610bdc6128db565b6001600160a01b03841615610d0457600254600160401b90046001600160a01b031663a5808e2f610c0b611ce2565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610c64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8891906128a5565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865afa158015610ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf091906128c2565b600114610cff57610cff6128db565b610e16565b600254600160401b90046001600160a01b031663a5808e2f610d24611ce2565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610d7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da191906128a5565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865afa158015610de5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0991906128c2565b15610e1657610e166128db565b826001600160a01b0316846001600160a01b031603610e3757610e376128db565b610e48610e42611ce2565b84611d1e565b6001600160a01b03841615610e6a57610e68610e62611ce2565b85611df7565b505b600254600160401b90046001600160a01b031663a5808e2f610e8a611ce2565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0791906128a5565b6040516001600160e01b031960e084901b1681526001600160401b039091166004820152602401602060405180830381865afa158015610f4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6f91906128c2565b600114610f7e57610f7e6128db565b600254600160401b90046001600160a01b031663d1f856ee610f9e611ce2565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b91906128a5565b856040518363ffffffff1660e01b81526004016110399291906128f1565b6040805180830381865afa158015611055573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110799190612913565b90925063ffffffff16905081611091576110916128db565b801561109f5761109f6128db565b50505050565b6110ae336103c2565b61054d82826003611849565b336110c3611176565b6001600160a01b0316816001600160a01b0316146110fe5760405162d1953b60e31b81526001600160a01b0382166004820152602401610497565b816001600160a01b03163b600003611134576040516361798f2f60e11b81526001600160a01b0383166004820152602401610497565b61054d82611ee6565b600080516020612b0d833981519152805460009190600160a01b900460ff16611167576000611170565b638fb3603760e01b5b91505090565b600080516020612b0d833981519152546001600160a01b031690565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156111d75750825b90506000826001600160401b031660011480156111f35750303b155b905081158015611201575080155b1561121f5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561124957845460ff60401b1916600160401b1785555b60008690506000816001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801561128e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b291906127f9565b90506000826001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131891906127f9565b905061132381611f47565b60028054600380546001600160a01b038781166001600160a01b03199283161790925560048054878416921691909117905567ffffffffffffffff19908416600160401b02166001600160e01b0319909116176127101790556113b3611387611c29565b6040518060400160405280600c81526020016b496e7374616e6365526f6c6560a01b8152506001611b2d565b6113ef6113be611ce2565b60405180604001604052806011815260200170496e7374616e63654f776e6572526f6c6560781b8152506001611b2d565b6113fa610e42611c29565b61142b306040518060400160405280600d81526020016c24b739ba30b731b2a0b236b4b760991b8152506001611849565b60408051600180825281830190925260009160208083019080368337019050509050635e85734a60e01b816000815181106114685761146861294b565b6001600160e01b031990921660209283029190910190910152611493308261148e611c29565b611759565b5050505083156114dd57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b600254604051631517388760e21b81526001600160401b0384166004820152600091600160401b90046001600160a01b03169063d1f856ee9073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af415801561155a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157e91906128a5565b846040518363ffffffff1660e01b815260040161159c9291906128f1565b6040805180830381865afa1580156115b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115dc9190612913565b509392505050565b6000806115f0336103c2565b6115f8611f5b565b909250905061160982856003611b2d565b61161581846003611b2d565b61161f828261196b565b6116308161162b611ce2565b61196b565b9250929050565b611640336103c2565b61164c83836002611b2d565b611656838261196b565b505050565b600080516020612b0d833981519152600080611696611678611176565b8730611688600460008a8c612961565b6116919161298b565b61209e565b91509150816114dd5763ffffffff81161561173657825460ff60a01b1916600160a01b1783556116c4611176565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b81526004016116f3939291906129bb565b600060405180830381600087803b15801561170d57600080fd5b505af1158015611721573d6000803e3d6000fd5b5050845460ff60a01b19168555506114dd9050565b60405162d1953b60e31b81526001600160a01b0387166004820152602401610497565b600254604051631517388760e21b81526001600160401b0383166004820152600160401b9091046001600160a01b0316906308d6122d908590859073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af41580156117d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f491906128a5565b6040518463ffffffff1660e01b8152600401611812939291906129fb565b600060405180830381600087803b15801561182c57600080fd5b505af1158015611840573d6000803e3d6000fd5b50505050505050565b6001600160a01b0383166000908152602081905260409020805482919060ff1916600183600381111561187e5761187e612816565b02179055506002546040516317ea2ab560e21b8152600160401b9091046001600160a01b031690635fa8aad4906118129086908690600401612a6d565b6001600160a01b03821660009081526020819052604081205460ff16908160038111156118ea576118ea612816565b14806119075750600181600381111561190557611905612816565b145b1561192957828160405163ecec011f60e01b815260040161049792919061284e565b60025460405163167bd39560e01b81526001600160a01b0385811660048301528415156024830152600160401b9092049091169063167bd39590604401611812565b60016001600160401b03831660009081526001602052604090205460ff16600381111561199a5761199a612816565b036119bd57816001604051630bb1a0c760e01b815260040161049792919061286b565b600254604051631517388760e21b81526001600160401b0384166004820152600160401b9091046001600160a01b0316906330cae1879073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015611a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5491906128a5565b604051631517388760e21b81526001600160401b038516600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015611aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad091906128a5565b6040516001600160e01b031960e085901b1681526001600160401b039283166004820152911660248201526044015b600060405180830381600087803b158015611b1957600080fd5b505af11580156114dd573d6000803e3d6000fd5b611b3783826121aa565b6001600160401b03831660009081526001602081905260409091208054839260ff1990911690836003811115611b6f57611b6f612816565b0217905550600254604051631517388760e21b81526001600160401b0385166004820152600160401b9091046001600160a01b0316906368ed5d2e9073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015611be7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0b91906128a5565b846040518363ffffffff1660e01b8152600401611812929190612a99565b6040516368aebf7b60e01b8152610a28600482015260009073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b906024015b602060405180830381865af4158015611c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca291906128a5565b905090565b6040516368aebf7b60e01b81526000600482018190529073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401611c61565b6040516368aebf7b60e01b815261076c600482015260009073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401611c61565b600254604051631517388760e21b81526001600160401b0384166004820152600160401b9091046001600160a01b0316906325c471a09073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015611d91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db591906128a5565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038416602482015260006044820152606401611aff565b600254604051631517388760e21b81526001600160401b0384166004820152600091600160401b90046001600160a01b03169063b7d2b1629073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015611e6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9091906128a5565b846040518363ffffffff1660e01b8152600401611eae9291906128f1565b600060405180830381600087803b158015611ec857600080fd5b505af1158015611edc573d6000803e3d6000fd5b5050505092915050565b600080516020612b0d83398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b611f4f612365565b611f58816123b0565b50565b60025460009081906001600160401b031681611f78826001612abb565b9050611f85826002612abb565b6002805467ffffffffffffffff19166001600160401b039283161790556040516368aebf7b60e01b8152908316600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401602060405180830381865af4158015611ff3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201791906128a5565b6040516368aebf7b60e01b81526001600160401b038316600482015290945073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401602060405180830381865af4158015612072573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209691906128a5565b925050509091565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b1790525161210d9190612af0565b600060405180830381855afa9150503d8060008114612148576040519150601f19603f3d011682016040523d82523d6000602084013e61214d565b606091505b5091509150811561219f57604081511061217f57808060200190518101906121759190612913565b909450925061219f565b602081511061219f578080602001905181019061219c9190612888565b93505b505094509492505050565b604051631517388760e21b81526001600160401b038316600482015260009073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015612205573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061222991906128a5565b6001600160401b03169050600382600381111561224857612248612816565b148015612256575061271081105b1561227f5760405163be511cc160e01b81526001600160401b0384166004820152602401610497565b600382600381111561229357612293612816565b141580156122a357506127108110155b801561233c57506122b26123c1565b604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af415801561230b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232f91906128a5565b6001600160401b03168114155b1561165657604051630e08ff2d60e11b81526001600160401b0384166004820152602401610497565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166123ae57604051631afcd79f60e31b815260040160405180910390fd5b565b6123b8612365565b611f5881611ee6565b6040516368aebf7b60e01b81526001600160401b03600482015260009073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401611c61565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261242957600080fd5b81356001600160401b038082111561244357612443612402565b604051601f8301601f19908116603f0116810190828211818310171561246b5761246b612402565b8160405283815286602085880101111561248457600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160401b0381168114611f5857600080fd5b80356124c4816124a4565b919050565b600080600080606085870312156124df57600080fd5b84356001600160401b03808211156124f657600080fd5b61250288838901612418565b9550602087013591508082111561251857600080fd5b818701915087601f83011261252c57600080fd5b81358181111561253b57600080fd5b8860208260051b850101111561255057600080fd5b602083019550809450505050612568604086016124b9565b905092959194509250565b6001600160a01b0381168114611f5857600080fd5b6000806040838503121561259b57600080fd5b82356125a681612573565b915060208301356001600160401b038111156125c157600080fd5b6125cd85828601612418565b9150509250929050565b60005b838110156125f25781810151838201526020016125da565b50506000910152565b600081518084526126138160208601602086016125d7565b601f01601f19169290920160200192915050565b60208152600061263a60208301846125fb565b9392505050565b8015158114611f5857600080fd5b6000806040838503121561266257600080fd5b823561266d81612573565b9150602083013561267d81612641565b809150509250929050565b60006020828403121561269a57600080fd5b813561263a81612573565b600080604083850312156126b857600080fd5b82356126c3816124a4565b9150602083013561267d816124a4565b600080604083850312156126e657600080fd5b82356125a6816124a4565b6000806040838503121561270457600080fd5b823561270f81612573565b9150602083013561267d81612573565b6000806040838503121561273257600080fd5b823561270f816124a4565b6000806040838503121561275057600080fd5b82356001600160401b038082111561276757600080fd5b61277386838701612418565b9350602085013591508082111561278957600080fd5b506125cd85828601612418565b6000806000606084860312156127ab57600080fd5b83356127b6816124a4565b925060208401356001600160401b038111156127d157600080fd5b6127dd86828701612418565b92505060408401356127ee816124a4565b809150509250925092565b60006020828403121561280b57600080fd5b815161263a81612573565b634e487b7160e01b600052602160045260246000fd5b6004811061284a57634e487b7160e01b600052602160045260246000fd5b9052565b6001600160a01b03831681526040810161263a602083018461282c565b6001600160401b03831681526040810161263a602083018461282c565b60006020828403121561289a57600080fd5b815161263a81612641565b6000602082840312156128b757600080fd5b815161263a816124a4565b6000602082840312156128d457600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b6001600160401b039290921682526001600160a01b0316602082015260400190565b6000806040838503121561292657600080fd5b825161293181612641565b602084015190925063ffffffff8116811461267d57600080fd5b634e487b7160e01b600052603260045260246000fd5b6000808585111561297157600080fd5b8386111561297e57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156129b35780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b6001600160a01b038416815260606020808301829052845191830182905260009185820191906080850190845b81811015612a4e5784516001600160e01b03191683529383019391830191600101612a28565b50508093505050506001600160401b0383166040830152949350505050565b6001600160a01b0383168152604060208201819052600090612a91908301846125fb565b949350505050565b6001600160401b0383168152604060208201526000612a9160408301846125fb565b6001600160401b03818116838216019080821115612ae957634e487b7160e01b600052601160045260246000fd5b5092915050565b60008251612b028184602087016125d7565b919091019291505056fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00a2646970667358221220293d7330cd4d75da3dc2f440291e32142b7a425fffe43bc3e80cd0629f8496fa64736f6c63430008140033",
550
+ "linkReferences": {
551
+ "contracts/type/RoleId.sol": {
552
+ "RoleIdLib": [
553
+ {
554
+ "length": 20,
555
+ "start": 2117
556
+ },
557
+ {
558
+ "length": 20,
559
+ "start": 2398
560
+ },
561
+ {
562
+ "length": 20,
563
+ "start": 2678
564
+ },
565
+ {
566
+ "length": 20,
567
+ "start": 2848
568
+ },
569
+ {
570
+ "length": 20,
571
+ "start": 3146
572
+ },
573
+ {
574
+ "length": 20,
575
+ "start": 3427
576
+ },
577
+ {
578
+ "length": 20,
579
+ "start": 3785
580
+ },
581
+ {
582
+ "length": 20,
583
+ "start": 4061
584
+ },
585
+ {
586
+ "length": 20,
587
+ "start": 5440
588
+ },
589
+ {
590
+ "length": 20,
591
+ "start": 6070
592
+ },
593
+ {
594
+ "length": 20,
595
+ "start": 6678
596
+ },
597
+ {
598
+ "length": 20,
599
+ "start": 6802
600
+ },
601
+ {
602
+ "length": 20,
603
+ "start": 7117
604
+ },
605
+ {
606
+ "length": 20,
607
+ "start": 7267
608
+ },
609
+ {
610
+ "length": 20,
611
+ "start": 7392
612
+ },
613
+ {
614
+ "length": 20,
615
+ "start": 7452
616
+ },
617
+ {
618
+ "length": 20,
619
+ "start": 7543
620
+ },
621
+ {
622
+ "length": 20,
623
+ "start": 7762
624
+ },
625
+ {
626
+ "length": 20,
627
+ "start": 8153
628
+ },
629
+ {
630
+ "length": 20,
631
+ "start": 8280
632
+ },
633
+ {
634
+ "length": 20,
635
+ "start": 8683
636
+ },
637
+ {
638
+ "length": 20,
639
+ "start": 8945
640
+ },
641
+ {
642
+ "length": 20,
643
+ "start": 9216
644
+ }
645
+ ]
646
+ }
647
+ },
648
+ "deployedLinkReferences": {
649
+ "contracts/type/RoleId.sol": {
650
+ "RoleIdLib": [
651
+ {
652
+ "length": 20,
653
+ "start": 2085
654
+ },
655
+ {
656
+ "length": 20,
657
+ "start": 2366
658
+ },
659
+ {
660
+ "length": 20,
661
+ "start": 2646
662
+ },
663
+ {
664
+ "length": 20,
665
+ "start": 2816
666
+ },
667
+ {
668
+ "length": 20,
669
+ "start": 3114
670
+ },
671
+ {
672
+ "length": 20,
673
+ "start": 3395
674
+ },
675
+ {
676
+ "length": 20,
677
+ "start": 3753
678
+ },
679
+ {
680
+ "length": 20,
681
+ "start": 4029
682
+ },
683
+ {
684
+ "length": 20,
685
+ "start": 5408
686
+ },
687
+ {
688
+ "length": 20,
689
+ "start": 6038
690
+ },
691
+ {
692
+ "length": 20,
693
+ "start": 6646
694
+ },
695
+ {
696
+ "length": 20,
697
+ "start": 6770
698
+ },
699
+ {
700
+ "length": 20,
701
+ "start": 7085
702
+ },
703
+ {
704
+ "length": 20,
705
+ "start": 7235
706
+ },
707
+ {
708
+ "length": 20,
709
+ "start": 7360
710
+ },
711
+ {
712
+ "length": 20,
713
+ "start": 7420
714
+ },
715
+ {
716
+ "length": 20,
717
+ "start": 7511
718
+ },
719
+ {
720
+ "length": 20,
721
+ "start": 7730
722
+ },
723
+ {
724
+ "length": 20,
725
+ "start": 8121
726
+ },
727
+ {
728
+ "length": 20,
729
+ "start": 8248
730
+ },
731
+ {
732
+ "length": 20,
733
+ "start": 8651
734
+ },
735
+ {
736
+ "length": 20,
737
+ "start": 8913
738
+ },
739
+ {
740
+ "length": 20,
741
+ "start": 9184
742
+ }
743
+ ]
744
+ }
745
+ }
746
+ }