@etherisc/gif-next 0.0.2-aa8d0c4-506 → 0.0.2-aaa8646-641

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/README.md +71 -15
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +4 -0
  3. package/artifacts/contracts/components/Component.sol/Component.json +842 -0
  4. package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
  5. package/artifacts/contracts/components/Distribution.sol/Distribution.json +902 -227
  6. package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +4 -0
  7. package/artifacts/contracts/components/IComponent.sol/IComponent.json +605 -0
  8. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +801 -36
  10. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
  11. package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +864 -49
  12. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
  13. package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +682 -9
  14. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  15. package/artifacts/contracts/components/Pool.sol/Pool.json +849 -346
  16. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  17. package/artifacts/contracts/components/Product.sol/Product.json +626 -234
  18. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
  19. package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
  20. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +4 -0
  21. package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +778 -0
  22. package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +4 -0
  23. package/artifacts/contracts/instance/{AccessManagedSimple.sol/AccessManagedSimple.json → Cloneable.sol/Cloneable.json} +91 -2
  24. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  25. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +462 -554
  26. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
  27. package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +342 -168
  28. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  29. package/artifacts/contracts/instance/Instance.sol/Instance.json +458 -3052
  30. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
  31. package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +609 -178
  32. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
  33. package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +124 -0
  34. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
  35. package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +262 -247
  36. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
  37. package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +480 -346
  38. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
  39. package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +294 -113
  40. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
  41. package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2663 -0
  42. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +4 -0
  43. package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +256 -0
  44. package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +4 -0
  45. package/artifacts/contracts/instance/base/{ComponentServiceBase.sol/ComponentServiceBase.json → ComponentService.sol/ComponentService.json} +298 -169
  46. package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
  47. package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  48. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
  49. package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +40 -10
  50. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
  51. package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +36 -11
  52. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
  53. package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +71 -45
  54. package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
  55. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
  56. package/artifacts/contracts/instance/module/IComponents.sol/IComponents.json +10 -0
  57. package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
  58. package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
  59. package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
  60. package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
  61. package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
  62. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +4 -0
  63. package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +902 -0
  64. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
  65. package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +649 -0
  66. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +4 -0
  67. package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +1326 -0
  68. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
  69. package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +725 -0
  70. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +4 -0
  71. package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +1072 -0
  72. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
  73. package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +685 -0
  74. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
  75. package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +1033 -199
  76. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
  77. package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +396 -75
  78. package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +4 -0
  79. package/artifacts/contracts/instance/service/{IComponentOwnerService.sol/IComponentOwnerService.json → IApplicationService.sol/IApplicationService.json} +235 -200
  80. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +4 -0
  81. package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +714 -0
  82. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +4 -0
  83. package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +602 -0
  84. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
  85. package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +585 -160
  86. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +4 -0
  87. package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +969 -0
  88. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
  89. package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +544 -145
  90. package/artifacts/contracts/instance/service/IPricingService.sol/IPricingService.dbg.json +4 -0
  91. package/artifacts/contracts/{shared/RegisterableUpgradable.sol/RegisterableUpgradable.json → instance/service/IPricingService.sol/IPricingService.json} +248 -172
  92. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
  93. package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +90 -391
  94. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +4 -0
  95. package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +1575 -0
  96. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
  97. package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +741 -0
  98. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
  99. package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +906 -245
  100. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
  101. package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +348 -87
  102. package/artifacts/contracts/instance/service/PricingService.sol/PricingService.dbg.json +4 -0
  103. package/artifacts/contracts/instance/service/PricingService.sol/PricingService.json +988 -0
  104. package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
  105. package/artifacts/contracts/instance/service/PricingServiceManager.sol/PricingServiceManager.json +689 -0
  106. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
  107. package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +872 -0
  108. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
  109. package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +653 -0
  110. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  111. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
  112. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  113. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +227 -224
  114. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
  115. package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +232 -219
  116. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
  117. package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
  118. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  119. package/artifacts/contracts/registry/Registry.sol/Registry.json +241 -330
  120. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
  121. package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +285 -0
  122. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
  123. package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +233 -312
  124. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
  125. package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +295 -150
  126. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
  127. package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +559 -0
  128. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
  129. package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +141 -53
  130. package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
  131. package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
  132. package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
  133. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
  134. package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +40 -29
  135. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
  136. package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +129 -0
  137. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
  138. package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +21 -34
  139. package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
  140. package/artifacts/contracts/{experiment/inheritance/IB.sol/IB.json → shared/IRegistryLinked.sol/IRegistryLinked.json} +18 -20
  141. package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
  142. package/artifacts/contracts/shared/IService.sol/IService.json +86 -172
  143. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
  144. package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
  145. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
  146. package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +120 -27
  147. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
  148. package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +248 -0
  149. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
  150. package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +294 -61
  151. package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
  152. package/artifacts/contracts/shared/Registerable.sol/Registerable.json +129 -51
  153. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
  154. package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +84 -0
  155. package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
  156. package/artifacts/contracts/shared/Service.sol/Service.json +191 -163
  157. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  158. package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
  159. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
  160. package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
  161. package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
  162. package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
  163. package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
  164. package/artifacts/contracts/test/TestFee.sol/TestFee.json +2 -2
  165. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
  166. package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +129 -51
  167. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
  168. package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +6 -6
  169. package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
  170. package/artifacts/contracts/test/TestService.sol/TestService.json +210 -214
  171. package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
  172. package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
  173. package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
  174. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
  175. package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +8 -190
  176. package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
  177. package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
  178. package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +4 -0
  179. package/artifacts/contracts/types/Amount.sol/AmountLib.json +209 -0
  180. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  181. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  182. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  183. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
  184. package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +179 -0
  185. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
  186. package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +2 -2
  187. package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
  188. package/artifacts/contracts/types/Fee.sol/FeeLib.json +40 -9
  189. package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
  190. package/artifacts/contracts/types/Key32.sol/Key32Lib.json +2 -2
  191. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  192. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +17 -4
  193. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
  194. package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +26 -3
  195. package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
  196. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  197. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  198. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
  199. package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +209 -0
  200. package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
  201. package/artifacts/contracts/types/Referral.sol/ReferralLib.json +23 -4
  202. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
  203. package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +2 -2
  204. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
  205. package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
  206. package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +4 -0
  207. package/artifacts/contracts/types/Seconds.sol/SecondsLib.json +124 -0
  208. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  209. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  210. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  211. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +38 -7
  212. package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
  213. package/artifacts/contracts/types/UFixed.sol/MathLib.json +2 -2
  214. package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
  215. package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +2 -2
  216. package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
  217. package/artifacts/contracts/types/Version.sol/VersionLib.json +2 -2
  218. package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
  219. package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
  220. package/contracts/components/Component.sol +253 -0
  221. package/contracts/components/Distribution.sol +201 -83
  222. package/contracts/components/IComponent.sol +76 -0
  223. package/contracts/components/IDistributionComponent.sol +43 -18
  224. package/contracts/components/IPoolComponent.sol +88 -37
  225. package/contracts/components/IProductComponent.sol +10 -5
  226. package/contracts/components/Pool.sol +219 -164
  227. package/contracts/components/Product.sol +252 -175
  228. package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +13 -0
  229. package/contracts/instance/BundleManager.sol +126 -0
  230. package/contracts/instance/Cloneable.sol +51 -0
  231. package/contracts/instance/IInstance.sol +62 -21
  232. package/contracts/instance/IInstanceService.sol +58 -8
  233. package/contracts/instance/Instance.sol +155 -361
  234. package/contracts/instance/InstanceAccessManager.sol +429 -176
  235. package/contracts/instance/InstanceAuthorizationsLib.sol +300 -0
  236. package/contracts/instance/InstanceReader.sol +51 -37
  237. package/contracts/instance/InstanceService.sol +252 -125
  238. package/contracts/instance/InstanceServiceManager.sol +11 -13
  239. package/contracts/instance/InstanceStore.sol +208 -0
  240. package/contracts/instance/ObjectManager.sol +82 -0
  241. package/contracts/instance/base/ComponentService.sol +148 -0
  242. package/contracts/instance/base/KeyValueStore.sol +13 -5
  243. package/contracts/instance/base/Lifecycle.sol +23 -6
  244. package/contracts/instance/module/IAccess.sol +36 -20
  245. package/contracts/instance/module/IBundle.sol +8 -5
  246. package/contracts/instance/module/IComponents.sol +41 -0
  247. package/contracts/instance/module/IDistribution.sol +2 -0
  248. package/contracts/instance/module/IPolicy.sol +41 -9
  249. package/contracts/instance/module/ISetup.sol +9 -20
  250. package/contracts/instance/service/ApplicationService.sol +185 -0
  251. package/contracts/instance/service/ApplicationServiceManager.sol +35 -0
  252. package/contracts/instance/service/BundleService.sol +440 -0
  253. package/contracts/instance/service/BundleServiceManager.sol +51 -0
  254. package/contracts/instance/service/ClaimService.sol +239 -0
  255. package/contracts/instance/service/ClaimServiceManager.sol +35 -0
  256. package/contracts/instance/service/DistributionService.sol +287 -44
  257. package/contracts/instance/service/DistributionServiceManager.sol +11 -13
  258. package/contracts/instance/service/IApplicationService.sol +61 -0
  259. package/contracts/instance/service/IBundleService.sol +102 -0
  260. package/contracts/instance/service/IClaimService.sol +92 -0
  261. package/contracts/instance/service/IDistributionService.sol +73 -0
  262. package/contracts/instance/service/IPolicyService.sol +142 -0
  263. package/contracts/instance/service/IPoolService.sol +82 -17
  264. package/contracts/instance/service/IPricingService.sol +36 -0
  265. package/contracts/instance/service/IProductService.sol +6 -73
  266. package/contracts/instance/service/PolicyService.sol +579 -0
  267. package/contracts/instance/service/PolicyServiceManager.sol +54 -0
  268. package/contracts/instance/service/PoolService.sol +251 -118
  269. package/contracts/instance/service/PoolServiceManager.sol +11 -13
  270. package/contracts/instance/service/PricingService.sol +275 -0
  271. package/contracts/instance/service/PricingServiceManager.sol +51 -0
  272. package/contracts/instance/service/ProductService.sol +210 -0
  273. package/contracts/instance/service/ProductServiceManager.sol +54 -0
  274. package/contracts/registry/ChainNft.sol +9 -1
  275. package/contracts/registry/IRegistry.sol +40 -33
  276. package/contracts/registry/IRegistryService.sol +48 -13
  277. package/contracts/registry/ITransferInterceptor.sol +1 -0
  278. package/contracts/registry/Registry.sol +234 -256
  279. package/contracts/registry/RegistryAccessManager.sol +216 -0
  280. package/contracts/registry/RegistryService.sol +118 -231
  281. package/contracts/registry/RegistryServiceManager.sol +21 -39
  282. package/contracts/registry/ReleaseManager.sol +324 -0
  283. package/contracts/registry/TokenRegistry.sol +22 -17
  284. package/contracts/shared/ERC165.sol +14 -12
  285. package/contracts/shared/INftOwnable.sol +11 -10
  286. package/contracts/shared/IPolicyHolder.sol +26 -0
  287. package/contracts/shared/IRegisterable.sol +4 -6
  288. package/contracts/shared/IRegistryLinked.sol +12 -0
  289. package/contracts/shared/IService.sol +5 -4
  290. package/contracts/shared/IVersionable.sol +4 -47
  291. package/contracts/shared/NftOwnable.sol +67 -83
  292. package/contracts/shared/PolicyHolder.sol +81 -0
  293. package/contracts/shared/ProxyManager.sol +100 -25
  294. package/contracts/shared/Registerable.sol +16 -32
  295. package/contracts/shared/RegistryLinked.sol +48 -0
  296. package/contracts/shared/Service.sol +42 -24
  297. package/contracts/shared/TokenHandler.sol +11 -5
  298. package/contracts/shared/Versionable.sol +4 -92
  299. package/contracts/test/TestRegisterable.sol +1 -1
  300. package/contracts/test/TestService.sol +4 -3
  301. package/contracts/types/Amount.sol +70 -0
  302. package/contracts/types/Blocknumber.sol +1 -0
  303. package/contracts/types/ClaimId.sol +75 -0
  304. package/contracts/types/DistributorType.sol +2 -2
  305. package/contracts/types/Fee.sol +13 -5
  306. package/contracts/types/NftId.sol +8 -0
  307. package/contracts/types/NftIdSet.sol +26 -24
  308. package/contracts/types/ObjectType.sol +15 -6
  309. package/contracts/types/PayoutId.sol +82 -0
  310. package/contracts/types/Referral.sol +4 -0
  311. package/contracts/types/RoleId.sol +26 -18
  312. package/contracts/types/Seconds.sol +54 -0
  313. package/contracts/types/StateId.sol +7 -2
  314. package/contracts/types/Timestamp.sol +18 -13
  315. package/contracts/types/UFixed.sol +1 -0
  316. package/contracts/types/Version.sol +1 -0
  317. package/package.json +3 -3
  318. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
  319. package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +0 -327
  320. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
  321. package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +0 -280
  322. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
  323. package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
  324. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
  325. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
  326. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
  327. package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
  328. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
  329. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
  330. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
  331. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
  332. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
  333. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
  334. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
  335. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
  336. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
  337. package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
  338. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
  339. package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
  340. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
  341. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
  342. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
  343. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.json +0 -37
  344. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
  345. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
  346. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
  347. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
  348. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
  349. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
  350. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
  351. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
  352. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
  353. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
  354. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
  355. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
  356. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
  357. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
  358. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
  359. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
  360. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
  361. package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +0 -4
  362. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +0 -4
  363. package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +0 -1132
  364. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
  365. package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
  366. package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
  367. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
  368. package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
  369. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
  370. package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
  371. package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
  372. package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
  373. package/contracts/components/BaseComponent.sol +0 -91
  374. package/contracts/components/IBaseComponent.sol +0 -25
  375. package/contracts/experiment/cloning/Cloner.sol +0 -47
  376. package/contracts/experiment/errors/Require.sol +0 -38
  377. package/contracts/experiment/errors/Revert.sol +0 -44
  378. package/contracts/experiment/inheritance/A.sol +0 -53
  379. package/contracts/experiment/inheritance/B.sol +0 -28
  380. package/contracts/experiment/inheritance/C.sol +0 -34
  381. package/contracts/experiment/inheritance/IA.sol +0 -13
  382. package/contracts/experiment/inheritance/IB.sol +0 -10
  383. package/contracts/experiment/inheritance/IC.sol +0 -12
  384. package/contracts/experiment/statemachine/Dummy.sol +0 -27
  385. package/contracts/experiment/statemachine/ISM.sol +0 -25
  386. package/contracts/experiment/statemachine/SM.sol +0 -57
  387. package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
  388. package/contracts/experiment/types/TypeA.sol +0 -47
  389. package/contracts/experiment/types/TypeB.sol +0 -29
  390. package/contracts/instance/AccessManagedSimple.sol +0 -115
  391. package/contracts/instance/AccessManagerSimple.sol +0 -692
  392. package/contracts/instance/IAccessManagerSimple.sol +0 -391
  393. package/contracts/instance/base/ComponentServiceBase.sol +0 -60
  394. package/contracts/instance/base/IInstanceBase.sol +0 -23
  395. package/contracts/instance/service/ComponentOwnerService.sol +0 -317
  396. package/contracts/instance/service/IComponentOwnerService.sol +0 -20
  397. package/contracts/shared/RegisterableUpgradable.sol +0 -16
@@ -7,108 +7,145 @@
7
7
  "inputs": [
8
8
  {
9
9
  "internalType": "address",
10
- "name": "registry",
10
+ "name": "authority",
11
11
  "type": "address"
12
- },
13
- {
14
- "internalType": "NftId",
15
- "name": "instanceNftId",
16
- "type": "uint96"
17
- },
12
+ }
13
+ ],
14
+ "name": "AccessManagedInvalidAuthority",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [
18
19
  {
19
20
  "internalType": "address",
20
- "name": "token",
21
+ "name": "caller",
21
22
  "type": "address"
22
23
  },
23
24
  {
24
- "internalType": "bool",
25
- "name": "isInterceptor",
26
- "type": "bool"
27
- },
25
+ "internalType": "uint32",
26
+ "name": "delay",
27
+ "type": "uint32"
28
+ }
29
+ ],
30
+ "name": "AccessManagedRequiredDelay",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [
28
35
  {
29
- "internalType": "bool",
30
- "name": "verifying",
31
- "type": "bool"
32
- },
36
+ "internalType": "address",
37
+ "name": "caller",
38
+ "type": "address"
39
+ }
40
+ ],
41
+ "name": "AccessManagedUnauthorized",
42
+ "type": "error"
43
+ },
44
+ {
45
+ "inputs": [
33
46
  {
34
- "internalType": "UFixed",
35
- "name": "collateralizationLevel",
36
- "type": "uint256"
37
- },
47
+ "internalType": "address",
48
+ "name": "target",
49
+ "type": "address"
50
+ }
51
+ ],
52
+ "name": "AddressEmptyCode",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [
38
57
  {
39
- "components": [
40
- {
41
- "internalType": "UFixed",
42
- "name": "fractionalFee",
43
- "type": "uint256"
44
- },
45
- {
46
- "internalType": "uint256",
47
- "name": "fixedFee",
48
- "type": "uint256"
49
- }
50
- ],
51
- "internalType": "struct Fee",
52
- "name": "poolFee",
53
- "type": "tuple"
54
- },
58
+ "internalType": "address",
59
+ "name": "account",
60
+ "type": "address"
61
+ }
62
+ ],
63
+ "name": "AddressInsufficientBalance",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [
55
68
  {
56
- "components": [
57
- {
58
- "internalType": "UFixed",
59
- "name": "fractionalFee",
60
- "type": "uint256"
61
- },
62
- {
63
- "internalType": "uint256",
64
- "name": "fixedFee",
65
- "type": "uint256"
66
- }
67
- ],
68
- "internalType": "struct Fee",
69
- "name": "stakingFee",
70
- "type": "tuple"
71
- },
69
+ "internalType": "address",
70
+ "name": "caller",
71
+ "type": "address"
72
+ }
73
+ ],
74
+ "name": "ErrorComponentNotChainNft",
75
+ "type": "error"
76
+ },
77
+ {
78
+ "inputs": [
72
79
  {
73
- "components": [
74
- {
75
- "internalType": "UFixed",
76
- "name": "fractionalFee",
77
- "type": "uint256"
78
- },
79
- {
80
- "internalType": "uint256",
81
- "name": "fixedFee",
82
- "type": "uint256"
83
- }
84
- ],
85
- "internalType": "struct Fee",
86
- "name": "performanceFee",
87
- "type": "tuple"
88
- },
80
+ "internalType": "NftId",
81
+ "name": "instanceNftId",
82
+ "type": "uint96"
83
+ }
84
+ ],
85
+ "name": "ErrorComponentNotInstance",
86
+ "type": "error"
87
+ },
88
+ {
89
+ "inputs": [
89
90
  {
90
91
  "internalType": "address",
91
- "name": "initialOwner",
92
+ "name": "caller",
92
93
  "type": "address"
93
94
  }
94
95
  ],
95
- "stateMutability": "nonpayable",
96
- "type": "constructor"
96
+ "name": "ErrorComponentNotProductService",
97
+ "type": "error"
98
+ },
99
+ {
100
+ "inputs": [],
101
+ "name": "ErrorComponentProductNftAlreadySet",
102
+ "type": "error"
103
+ },
104
+ {
105
+ "inputs": [],
106
+ "name": "ErrorComponentWalletAddressIsSameAsCurrent",
107
+ "type": "error"
108
+ },
109
+ {
110
+ "inputs": [],
111
+ "name": "ErrorComponentWalletAddressZero",
112
+ "type": "error"
97
113
  },
98
114
  {
99
115
  "inputs": [
100
116
  {
101
117
  "internalType": "address",
102
- "name": "registry",
118
+ "name": "oldWallet",
119
+ "type": "address"
120
+ },
121
+ {
122
+ "internalType": "address",
123
+ "name": "newWallet",
103
124
  "type": "address"
104
125
  },
126
+ {
127
+ "internalType": "uint256",
128
+ "name": "allowance",
129
+ "type": "uint256"
130
+ },
131
+ {
132
+ "internalType": "uint256",
133
+ "name": "balance",
134
+ "type": "uint256"
135
+ }
136
+ ],
137
+ "name": "ErrorComponentWalletAllowanceTooSmall",
138
+ "type": "error"
139
+ },
140
+ {
141
+ "inputs": [
105
142
  {
106
143
  "internalType": "NftId",
107
144
  "name": "nftId",
108
145
  "type": "uint96"
109
146
  }
110
147
  ],
111
- "name": "ErrorAlreadyLinked",
148
+ "name": "ErrorNftOwnableAlreadyLinked",
112
149
  "type": "error"
113
150
  },
114
151
  {
@@ -119,7 +156,12 @@
119
156
  "type": "address"
120
157
  }
121
158
  ],
122
- "name": "ErrorContractNotRegistered",
159
+ "name": "ErrorNftOwnableContractNotRegistered",
160
+ "type": "error"
161
+ },
162
+ {
163
+ "inputs": [],
164
+ "name": "ErrorNftOwnableInitialOwnerZero",
123
165
  "type": "error"
124
166
  },
125
167
  {
@@ -130,7 +172,7 @@
130
172
  "type": "address"
131
173
  }
132
174
  ],
133
- "name": "ErrorNotOwner",
175
+ "name": "ErrorNftOwnableNotOwner",
134
176
  "type": "error"
135
177
  },
136
178
  {
@@ -147,33 +189,44 @@
147
189
  {
148
190
  "inputs": [
149
191
  {
150
- "internalType": "address",
151
- "name": "registryAddress",
152
- "type": "address"
192
+ "internalType": "NftId",
193
+ "name": "applicationNftId",
194
+ "type": "uint96"
153
195
  }
154
196
  ],
155
- "name": "ErrorRegisterableNotRegistry",
197
+ "name": "ErrorPoolApplicationBundleMismatch",
156
198
  "type": "error"
157
199
  },
158
200
  {
159
- "inputs": [],
160
- "name": "ErrorRegistryAddressZero",
201
+ "inputs": [
202
+ {
203
+ "internalType": "NftId",
204
+ "name": "bundleNftId",
205
+ "type": "uint96"
206
+ },
207
+ {
208
+ "internalType": "address",
209
+ "name": "caller",
210
+ "type": "address"
211
+ }
212
+ ],
213
+ "name": "ErrorPoolNotBundleOwner",
161
214
  "type": "error"
162
215
  },
163
216
  {
164
217
  "inputs": [
165
218
  {
166
219
  "internalType": "address",
167
- "name": "registry",
220
+ "name": "caller",
168
221
  "type": "address"
169
222
  }
170
223
  ],
171
- "name": "ErrorRegistryAlreadyInitialized",
224
+ "name": "ErrorPoolNotPoolService",
172
225
  "type": "error"
173
226
  },
174
227
  {
175
228
  "inputs": [],
176
- "name": "ErrorRegistryNotInitialized",
229
+ "name": "FailedInnerCall",
177
230
  "type": "error"
178
231
  },
179
232
  {
@@ -186,6 +239,30 @@
186
239
  "name": "NotInitializing",
187
240
  "type": "error"
188
241
  },
242
+ {
243
+ "inputs": [
244
+ {
245
+ "internalType": "address",
246
+ "name": "token",
247
+ "type": "address"
248
+ }
249
+ ],
250
+ "name": "SafeERC20FailedOperation",
251
+ "type": "error"
252
+ },
253
+ {
254
+ "anonymous": false,
255
+ "inputs": [
256
+ {
257
+ "indexed": false,
258
+ "internalType": "address",
259
+ "name": "authority",
260
+ "type": "address"
261
+ }
262
+ ],
263
+ "name": "AuthorityUpdated",
264
+ "type": "event"
265
+ },
189
266
  {
190
267
  "anonymous": false,
191
268
  "inputs": [
@@ -204,26 +281,109 @@
204
281
  "inputs": [
205
282
  {
206
283
  "indexed": false,
207
- "internalType": "NftId",
208
- "name": "policyNftId",
209
- "type": "uint96"
284
+ "internalType": "address",
285
+ "name": "oldWallet",
286
+ "type": "address"
287
+ },
288
+ {
289
+ "indexed": false,
290
+ "internalType": "address",
291
+ "name": "newWallet",
292
+ "type": "address"
293
+ }
294
+ ],
295
+ "name": "LogComponentWalletAddressChanged",
296
+ "type": "event"
297
+ },
298
+ {
299
+ "anonymous": false,
300
+ "inputs": [
301
+ {
302
+ "indexed": false,
303
+ "internalType": "address",
304
+ "name": "from",
305
+ "type": "address"
306
+ },
307
+ {
308
+ "indexed": false,
309
+ "internalType": "address",
310
+ "name": "to",
311
+ "type": "address"
210
312
  },
211
313
  {
212
314
  "indexed": false,
213
315
  "internalType": "uint256",
214
- "name": "collateralizationAmount",
316
+ "name": "amount",
215
317
  "type": "uint256"
216
- },
318
+ }
319
+ ],
320
+ "name": "LogComponentWalletTokensTransferred",
321
+ "type": "event"
322
+ },
323
+ {
324
+ "anonymous": false,
325
+ "inputs": [
217
326
  {
218
327
  "indexed": false,
219
328
  "internalType": "address",
220
329
  "name": "pool",
221
330
  "type": "address"
331
+ },
332
+ {
333
+ "indexed": false,
334
+ "internalType": "NftId",
335
+ "name": "applicationNftId",
336
+ "type": "uint96"
337
+ },
338
+ {
339
+ "indexed": false,
340
+ "internalType": "uint256",
341
+ "name": "collateralizationAmount",
342
+ "type": "uint256"
222
343
  }
223
344
  ],
224
- "name": "LogUnderwrittenByPool",
345
+ "name": "LogPoolVerifiedByPool",
225
346
  "type": "event"
226
347
  },
348
+ {
349
+ "inputs": [],
350
+ "name": "COMPONENT_LOCATION_V1",
351
+ "outputs": [
352
+ {
353
+ "internalType": "bytes32",
354
+ "name": "",
355
+ "type": "bytes32"
356
+ }
357
+ ],
358
+ "stateMutability": "view",
359
+ "type": "function"
360
+ },
361
+ {
362
+ "inputs": [],
363
+ "name": "NFT_OWNABLE_STORAGE_LOCATION_V1",
364
+ "outputs": [
365
+ {
366
+ "internalType": "bytes32",
367
+ "name": "",
368
+ "type": "bytes32"
369
+ }
370
+ ],
371
+ "stateMutability": "view",
372
+ "type": "function"
373
+ },
374
+ {
375
+ "inputs": [],
376
+ "name": "POOL_STORAGE_LOCATION_V1",
377
+ "outputs": [
378
+ {
379
+ "internalType": "bytes32",
380
+ "name": "",
381
+ "type": "bytes32"
382
+ }
383
+ ],
384
+ "stateMutability": "view",
385
+ "type": "function"
386
+ },
227
387
  {
228
388
  "inputs": [],
229
389
  "name": "REGISTERABLE_LOCATION_V1",
@@ -240,57 +400,252 @@
240
400
  {
241
401
  "inputs": [
242
402
  {
243
- "components": [
244
- {
245
- "internalType": "UFixed",
246
- "name": "fractionalFee",
247
- "type": "uint256"
248
- },
249
- {
250
- "internalType": "uint256",
251
- "name": "fixedFee",
252
- "type": "uint256"
253
- }
254
- ],
255
- "internalType": "struct Fee",
256
- "name": "fee",
257
- "type": "tuple"
403
+ "internalType": "NftId",
404
+ "name": "applicationNftId",
405
+ "type": "uint96"
258
406
  },
259
407
  {
260
- "internalType": "uint256",
261
- "name": "initialAmount",
262
- "type": "uint256"
408
+ "internalType": "bytes",
409
+ "name": "applicationData",
410
+ "type": "bytes"
411
+ },
412
+ {
413
+ "internalType": "NftId",
414
+ "name": "bundleNftId",
415
+ "type": "uint96"
416
+ },
417
+ {
418
+ "internalType": "bytes",
419
+ "name": "bundleFilter",
420
+ "type": "bytes"
263
421
  },
264
422
  {
265
423
  "internalType": "uint256",
266
- "name": "lifetime",
424
+ "name": "collateralizationAmount",
267
425
  "type": "uint256"
426
+ }
427
+ ],
428
+ "name": "applicationMatchesBundle",
429
+ "outputs": [
430
+ {
431
+ "internalType": "bool",
432
+ "name": "isMatching",
433
+ "type": "bool"
434
+ }
435
+ ],
436
+ "stateMutability": "view",
437
+ "type": "function"
438
+ },
439
+ {
440
+ "inputs": [],
441
+ "name": "authority",
442
+ "outputs": [
443
+ {
444
+ "internalType": "address",
445
+ "name": "",
446
+ "type": "address"
447
+ }
448
+ ],
449
+ "stateMutability": "view",
450
+ "type": "function"
451
+ },
452
+ {
453
+ "inputs": [
454
+ {
455
+ "internalType": "NftId",
456
+ "name": "bundleNftId",
457
+ "type": "uint96"
458
+ }
459
+ ],
460
+ "name": "close",
461
+ "outputs": [],
462
+ "stateMutability": "nonpayable",
463
+ "type": "function"
464
+ },
465
+ {
466
+ "inputs": [
467
+ {
468
+ "internalType": "NftId",
469
+ "name": "bundleNftId",
470
+ "type": "uint96"
268
471
  },
472
+ {
473
+ "internalType": "Seconds",
474
+ "name": "lifetimeExtension",
475
+ "type": "uint40"
476
+ }
477
+ ],
478
+ "name": "extend",
479
+ "outputs": [],
480
+ "stateMutability": "nonpayable",
481
+ "type": "function"
482
+ },
483
+ {
484
+ "inputs": [],
485
+ "name": "getComponentInfo",
486
+ "outputs": [
487
+ {
488
+ "components": [
489
+ {
490
+ "internalType": "string",
491
+ "name": "name",
492
+ "type": "string"
493
+ },
494
+ {
495
+ "internalType": "contract IERC20Metadata",
496
+ "name": "token",
497
+ "type": "address"
498
+ },
499
+ {
500
+ "internalType": "contract TokenHandler",
501
+ "name": "tokenHandler",
502
+ "type": "address"
503
+ },
504
+ {
505
+ "internalType": "address",
506
+ "name": "wallet",
507
+ "type": "address"
508
+ },
509
+ {
510
+ "internalType": "Amount",
511
+ "name": "balanceAmount",
512
+ "type": "uint96"
513
+ },
514
+ {
515
+ "internalType": "Amount",
516
+ "name": "feeAmount",
517
+ "type": "uint96"
518
+ },
519
+ {
520
+ "internalType": "bytes",
521
+ "name": "data",
522
+ "type": "bytes"
523
+ }
524
+ ],
525
+ "internalType": "struct IComponents.ComponentInfo",
526
+ "name": "info",
527
+ "type": "tuple"
528
+ }
529
+ ],
530
+ "stateMutability": "view",
531
+ "type": "function"
532
+ },
533
+ {
534
+ "inputs": [
269
535
  {
270
536
  "internalType": "bytes",
271
- "name": "filter",
537
+ "name": "name",
272
538
  "type": "bytes"
273
539
  }
274
540
  ],
275
- "name": "createBundle",
541
+ "name": "getContractLocation",
542
+ "outputs": [
543
+ {
544
+ "internalType": "bytes32",
545
+ "name": "hash",
546
+ "type": "bytes32"
547
+ }
548
+ ],
549
+ "stateMutability": "pure",
550
+ "type": "function"
551
+ },
552
+ {
553
+ "inputs": [],
554
+ "name": "getInitialInfo",
555
+ "outputs": [
556
+ {
557
+ "components": [
558
+ {
559
+ "internalType": "NftId",
560
+ "name": "nftId",
561
+ "type": "uint96"
562
+ },
563
+ {
564
+ "internalType": "NftId",
565
+ "name": "parentNftId",
566
+ "type": "uint96"
567
+ },
568
+ {
569
+ "internalType": "ObjectType",
570
+ "name": "objectType",
571
+ "type": "uint8"
572
+ },
573
+ {
574
+ "internalType": "bool",
575
+ "name": "isInterceptor",
576
+ "type": "bool"
577
+ },
578
+ {
579
+ "internalType": "address",
580
+ "name": "objectAddress",
581
+ "type": "address"
582
+ },
583
+ {
584
+ "internalType": "address",
585
+ "name": "initialOwner",
586
+ "type": "address"
587
+ },
588
+ {
589
+ "internalType": "bytes",
590
+ "name": "data",
591
+ "type": "bytes"
592
+ }
593
+ ],
594
+ "internalType": "struct IRegistry.ObjectInfo",
595
+ "name": "info",
596
+ "type": "tuple"
597
+ }
598
+ ],
599
+ "stateMutability": "view",
600
+ "type": "function"
601
+ },
602
+ {
603
+ "inputs": [],
604
+ "name": "getInstance",
605
+ "outputs": [
606
+ {
607
+ "internalType": "contract IInstance",
608
+ "name": "instance",
609
+ "type": "address"
610
+ }
611
+ ],
612
+ "stateMutability": "view",
613
+ "type": "function"
614
+ },
615
+ {
616
+ "inputs": [],
617
+ "name": "getName",
618
+ "outputs": [
619
+ {
620
+ "internalType": "string",
621
+ "name": "name",
622
+ "type": "string"
623
+ }
624
+ ],
625
+ "stateMutability": "view",
626
+ "type": "function"
627
+ },
628
+ {
629
+ "inputs": [],
630
+ "name": "getNftId",
276
631
  "outputs": [
277
632
  {
278
633
  "internalType": "NftId",
279
- "name": "bundleNftId",
634
+ "name": "",
280
635
  "type": "uint96"
281
636
  }
282
637
  ],
283
- "stateMutability": "nonpayable",
638
+ "stateMutability": "view",
284
639
  "type": "function"
285
640
  },
286
641
  {
287
642
  "inputs": [],
288
- "name": "getCollateralizationLevel",
643
+ "name": "getOwner",
289
644
  "outputs": [
290
645
  {
291
- "internalType": "UFixed",
292
- "name": "collateralizationLevel",
293
- "type": "uint256"
646
+ "internalType": "address",
647
+ "name": "",
648
+ "type": "address"
294
649
  }
295
650
  ],
296
651
  "stateMutability": "view",
@@ -298,80 +653,60 @@
298
653
  },
299
654
  {
300
655
  "inputs": [],
301
- "name": "getInitialInfo",
656
+ "name": "getPoolInfo",
302
657
  "outputs": [
303
658
  {
304
659
  "components": [
305
660
  {
306
661
  "internalType": "NftId",
307
- "name": "nftId",
662
+ "name": "productNftId",
308
663
  "type": "uint96"
309
664
  },
310
665
  {
311
- "internalType": "NftId",
312
- "name": "parentNftId",
313
- "type": "uint96"
666
+ "internalType": "RoleId",
667
+ "name": "bundleOwnerRole",
668
+ "type": "uint64"
314
669
  },
315
670
  {
316
- "internalType": "ObjectType",
317
- "name": "objectType",
318
- "type": "uint8"
671
+ "internalType": "uint256",
672
+ "name": "maxCapitalAmount",
673
+ "type": "uint256"
319
674
  },
320
675
  {
321
- "internalType": "bool",
322
- "name": "isInterceptor",
323
- "type": "bool"
676
+ "internalType": "uint256",
677
+ "name": "balanceAmount",
678
+ "type": "uint256"
324
679
  },
325
680
  {
326
- "internalType": "address",
327
- "name": "objectAddress",
328
- "type": "address"
681
+ "internalType": "uint256",
682
+ "name": "feeAmount",
683
+ "type": "uint256"
329
684
  },
330
685
  {
331
- "internalType": "address",
332
- "name": "initialOwner",
333
- "type": "address"
686
+ "internalType": "bool",
687
+ "name": "isInterceptingBundleTransfers",
688
+ "type": "bool"
334
689
  },
335
690
  {
336
- "internalType": "bytes",
337
- "name": "data",
338
- "type": "bytes"
339
- }
340
- ],
341
- "internalType": "struct IRegistry.ObjectInfo",
342
- "name": "",
343
- "type": "tuple"
344
- },
345
- {
346
- "internalType": "bytes",
347
- "name": "",
348
- "type": "bytes"
349
- }
350
- ],
351
- "stateMutability": "view",
352
- "type": "function"
353
- },
354
- {
355
- "inputs": [],
356
- "name": "getInitialSetupInfo",
357
- "outputs": [
358
- {
359
- "components": [
360
- {
361
- "internalType": "NftId",
362
- "name": "productNftId",
363
- "type": "uint96"
691
+ "internalType": "bool",
692
+ "name": "isExternallyManaged",
693
+ "type": "bool"
364
694
  },
365
695
  {
366
- "internalType": "contract TokenHandler",
367
- "name": "tokenHandler",
368
- "type": "address"
696
+ "internalType": "bool",
697
+ "name": "isVerifyingApplications",
698
+ "type": "bool"
369
699
  },
370
700
  {
371
701
  "internalType": "UFixed",
372
702
  "name": "collateralizationLevel",
373
703
  "type": "uint256"
374
704
  },
705
+ {
706
+ "internalType": "UFixed",
707
+ "name": "retentionLevel",
708
+ "type": "uint256"
709
+ },
375
710
  {
376
711
  "components": [
377
712
  {
@@ -422,20 +757,10 @@
422
757
  "internalType": "struct Fee",
423
758
  "name": "performanceFee",
424
759
  "type": "tuple"
425
- },
426
- {
427
- "internalType": "bool",
428
- "name": "isIntercepting",
429
- "type": "bool"
430
- },
431
- {
432
- "internalType": "address",
433
- "name": "wallet",
434
- "type": "address"
435
760
  }
436
761
  ],
437
- "internalType": "struct ISetup.PoolSetupInfo",
438
- "name": "setupInfo",
762
+ "internalType": "struct IComponents.PoolInfo",
763
+ "name": "poolInfo",
439
764
  "type": "tuple"
440
765
  }
441
766
  ],
@@ -444,12 +769,12 @@
444
769
  },
445
770
  {
446
771
  "inputs": [],
447
- "name": "getInstance",
772
+ "name": "getProductNftId",
448
773
  "outputs": [
449
774
  {
450
- "internalType": "contract IInstance",
451
- "name": "instance",
452
- "type": "address"
775
+ "internalType": "NftId",
776
+ "name": "productNftId",
777
+ "type": "uint96"
453
778
  }
454
779
  ],
455
780
  "stateMutability": "view",
@@ -457,12 +782,12 @@
457
782
  },
458
783
  {
459
784
  "inputs": [],
460
- "name": "getNftId",
785
+ "name": "getRegistry",
461
786
  "outputs": [
462
787
  {
463
- "internalType": "NftId",
788
+ "internalType": "contract IRegistry",
464
789
  "name": "",
465
- "type": "uint96"
790
+ "type": "address"
466
791
  }
467
792
  ],
468
793
  "stateMutability": "view",
@@ -470,7 +795,7 @@
470
795
  },
471
796
  {
472
797
  "inputs": [],
473
- "name": "getOwner",
798
+ "name": "getRegistryAddress",
474
799
  "outputs": [
475
800
  {
476
801
  "internalType": "address",
@@ -483,12 +808,12 @@
483
808
  },
484
809
  {
485
810
  "inputs": [],
486
- "name": "getProductNftId",
811
+ "name": "getToken",
487
812
  "outputs": [
488
813
  {
489
- "internalType": "NftId",
490
- "name": "productNftId",
491
- "type": "uint96"
814
+ "internalType": "contract IERC20Metadata",
815
+ "name": "token",
816
+ "type": "address"
492
817
  }
493
818
  ],
494
819
  "stateMutability": "view",
@@ -496,141 +821,204 @@
496
821
  },
497
822
  {
498
823
  "inputs": [],
499
- "name": "getRegistry",
824
+ "name": "getWallet",
500
825
  "outputs": [
501
826
  {
502
- "internalType": "contract IRegistry",
503
- "name": "",
827
+ "internalType": "address",
828
+ "name": "walletAddress",
504
829
  "type": "address"
505
830
  }
506
831
  ],
507
832
  "stateMutability": "view",
508
833
  "type": "function"
509
834
  },
835
+ {
836
+ "inputs": [
837
+ {
838
+ "internalType": "address",
839
+ "name": "registry",
840
+ "type": "address"
841
+ },
842
+ {
843
+ "internalType": "NftId",
844
+ "name": "instanceNftId",
845
+ "type": "uint96"
846
+ },
847
+ {
848
+ "internalType": "string",
849
+ "name": "name",
850
+ "type": "string"
851
+ },
852
+ {
853
+ "internalType": "address",
854
+ "name": "token",
855
+ "type": "address"
856
+ },
857
+ {
858
+ "internalType": "ObjectType",
859
+ "name": "componentType",
860
+ "type": "uint8"
861
+ },
862
+ {
863
+ "internalType": "bool",
864
+ "name": "isInterceptor",
865
+ "type": "bool"
866
+ },
867
+ {
868
+ "internalType": "address",
869
+ "name": "initialOwner",
870
+ "type": "address"
871
+ },
872
+ {
873
+ "internalType": "bytes",
874
+ "name": "registryData",
875
+ "type": "bytes"
876
+ }
877
+ ],
878
+ "name": "initializeComponent",
879
+ "outputs": [],
880
+ "stateMutability": "nonpayable",
881
+ "type": "function"
882
+ },
510
883
  {
511
884
  "inputs": [],
512
- "name": "getSetupInfo",
513
- "outputs": [
885
+ "name": "initializeERC165",
886
+ "outputs": [],
887
+ "stateMutability": "nonpayable",
888
+ "type": "function"
889
+ },
890
+ {
891
+ "inputs": [
514
892
  {
515
- "components": [
516
- {
517
- "internalType": "NftId",
518
- "name": "productNftId",
519
- "type": "uint96"
520
- },
521
- {
522
- "internalType": "contract TokenHandler",
523
- "name": "tokenHandler",
524
- "type": "address"
525
- },
526
- {
527
- "internalType": "UFixed",
528
- "name": "collateralizationLevel",
529
- "type": "uint256"
530
- },
531
- {
532
- "components": [
533
- {
534
- "internalType": "UFixed",
535
- "name": "fractionalFee",
536
- "type": "uint256"
537
- },
538
- {
539
- "internalType": "uint256",
540
- "name": "fixedFee",
541
- "type": "uint256"
542
- }
543
- ],
544
- "internalType": "struct Fee",
545
- "name": "poolFee",
546
- "type": "tuple"
547
- },
548
- {
549
- "components": [
550
- {
551
- "internalType": "UFixed",
552
- "name": "fractionalFee",
553
- "type": "uint256"
554
- },
555
- {
556
- "internalType": "uint256",
557
- "name": "fixedFee",
558
- "type": "uint256"
559
- }
560
- ],
561
- "internalType": "struct Fee",
562
- "name": "stakingFee",
563
- "type": "tuple"
564
- },
565
- {
566
- "components": [
567
- {
568
- "internalType": "UFixed",
569
- "name": "fractionalFee",
570
- "type": "uint256"
571
- },
572
- {
573
- "internalType": "uint256",
574
- "name": "fixedFee",
575
- "type": "uint256"
576
- }
577
- ],
578
- "internalType": "struct Fee",
579
- "name": "performanceFee",
580
- "type": "tuple"
581
- },
582
- {
583
- "internalType": "bool",
584
- "name": "isIntercepting",
585
- "type": "bool"
586
- },
587
- {
588
- "internalType": "address",
589
- "name": "wallet",
590
- "type": "address"
591
- }
592
- ],
593
- "internalType": "struct ISetup.PoolSetupInfo",
594
- "name": "setupInfo",
595
- "type": "tuple"
893
+ "internalType": "address",
894
+ "name": "initialOwner",
895
+ "type": "address"
896
+ },
897
+ {
898
+ "internalType": "address",
899
+ "name": "registryAddress",
900
+ "type": "address"
901
+ }
902
+ ],
903
+ "name": "initializeNftOwnable",
904
+ "outputs": [],
905
+ "stateMutability": "nonpayable",
906
+ "type": "function"
907
+ },
908
+ {
909
+ "inputs": [
910
+ {
911
+ "internalType": "address",
912
+ "name": "registry",
913
+ "type": "address"
914
+ },
915
+ {
916
+ "internalType": "NftId",
917
+ "name": "instanceNftId",
918
+ "type": "uint96"
919
+ },
920
+ {
921
+ "internalType": "string",
922
+ "name": "name",
923
+ "type": "string"
924
+ },
925
+ {
926
+ "internalType": "address",
927
+ "name": "token",
928
+ "type": "address"
929
+ },
930
+ {
931
+ "internalType": "bool",
932
+ "name": "isInterceptingNftTransfers",
933
+ "type": "bool"
934
+ },
935
+ {
936
+ "internalType": "address",
937
+ "name": "initialOwner",
938
+ "type": "address"
939
+ },
940
+ {
941
+ "internalType": "bytes",
942
+ "name": "registryData",
943
+ "type": "bytes"
596
944
  }
597
945
  ],
598
- "stateMutability": "view",
946
+ "name": "initializePool",
947
+ "outputs": [],
948
+ "stateMutability": "nonpayable",
599
949
  "type": "function"
600
950
  },
601
951
  {
602
- "inputs": [],
603
- "name": "getToken",
604
- "outputs": [
952
+ "inputs": [
605
953
  {
606
- "internalType": "contract IERC20Metadata",
607
- "name": "token",
954
+ "internalType": "address",
955
+ "name": "registryAddress",
956
+ "type": "address"
957
+ },
958
+ {
959
+ "internalType": "NftId",
960
+ "name": "parentNftId",
961
+ "type": "uint96"
962
+ },
963
+ {
964
+ "internalType": "ObjectType",
965
+ "name": "objectType",
966
+ "type": "uint8"
967
+ },
968
+ {
969
+ "internalType": "bool",
970
+ "name": "isInterceptor",
971
+ "type": "bool"
972
+ },
973
+ {
974
+ "internalType": "address",
975
+ "name": "initialOwner",
608
976
  "type": "address"
977
+ },
978
+ {
979
+ "internalType": "bytes",
980
+ "name": "registryData",
981
+ "type": "bytes"
609
982
  }
610
983
  ],
611
- "stateMutability": "view",
984
+ "name": "initializeRegisterable",
985
+ "outputs": [],
986
+ "stateMutability": "nonpayable",
612
987
  "type": "function"
613
988
  },
614
989
  {
615
- "inputs": [],
616
- "name": "getWallet",
617
- "outputs": [
990
+ "inputs": [
618
991
  {
619
992
  "internalType": "address",
620
- "name": "walletAddress",
993
+ "name": "registryAddress",
621
994
  "type": "address"
622
995
  }
623
996
  ],
997
+ "name": "initializeRegistryLinked",
998
+ "outputs": [],
999
+ "stateMutability": "nonpayable",
1000
+ "type": "function"
1001
+ },
1002
+ {
1003
+ "inputs": [],
1004
+ "name": "isConsumingScheduledOp",
1005
+ "outputs": [
1006
+ {
1007
+ "internalType": "bytes4",
1008
+ "name": "",
1009
+ "type": "bytes4"
1010
+ }
1011
+ ],
624
1012
  "stateMutability": "view",
625
1013
  "type": "function"
626
1014
  },
627
1015
  {
628
1016
  "inputs": [],
629
- "name": "isVerifying",
1017
+ "name": "isNftInterceptor",
630
1018
  "outputs": [
631
1019
  {
632
1020
  "internalType": "bool",
633
- "name": "verifying",
1021
+ "name": "isInterceptor",
634
1022
  "type": "bool"
635
1023
  }
636
1024
  ],
@@ -654,25 +1042,81 @@
654
1042
  {
655
1043
  "inputs": [
656
1044
  {
657
- "internalType": "bytes",
658
- "name": "",
659
- "type": "bytes"
1045
+ "internalType": "NftId",
1046
+ "name": "bundleNftId",
1047
+ "type": "uint96"
1048
+ }
1049
+ ],
1050
+ "name": "lockBundle",
1051
+ "outputs": [],
1052
+ "stateMutability": "nonpayable",
1053
+ "type": "function"
1054
+ },
1055
+ {
1056
+ "inputs": [
1057
+ {
1058
+ "internalType": "address",
1059
+ "name": "to",
1060
+ "type": "address"
660
1061
  },
661
1062
  {
662
- "internalType": "bytes",
663
- "name": "",
664
- "type": "bytes"
1063
+ "internalType": "uint256",
1064
+ "name": "tokenId",
1065
+ "type": "uint256"
665
1066
  }
666
1067
  ],
667
- "name": "policyMatchesBundle",
668
- "outputs": [
1068
+ "name": "nftMint",
1069
+ "outputs": [],
1070
+ "stateMutability": "nonpayable",
1071
+ "type": "function"
1072
+ },
1073
+ {
1074
+ "inputs": [
669
1075
  {
670
- "internalType": "bool",
671
- "name": "isMatching",
672
- "type": "bool"
1076
+ "internalType": "address",
1077
+ "name": "from",
1078
+ "type": "address"
1079
+ },
1080
+ {
1081
+ "internalType": "address",
1082
+ "name": "to",
1083
+ "type": "address"
1084
+ },
1085
+ {
1086
+ "internalType": "uint256",
1087
+ "name": "tokenId",
1088
+ "type": "uint256"
673
1089
  }
674
1090
  ],
675
- "stateMutability": "view",
1091
+ "name": "nftTransferFrom",
1092
+ "outputs": [],
1093
+ "stateMutability": "nonpayable",
1094
+ "type": "function"
1095
+ },
1096
+ {
1097
+ "inputs": [
1098
+ {
1099
+ "internalType": "bytes4",
1100
+ "name": "interfaceId",
1101
+ "type": "bytes4"
1102
+ }
1103
+ ],
1104
+ "name": "registerInterface",
1105
+ "outputs": [],
1106
+ "stateMutability": "nonpayable",
1107
+ "type": "function"
1108
+ },
1109
+ {
1110
+ "inputs": [
1111
+ {
1112
+ "internalType": "address",
1113
+ "name": "newAuthority",
1114
+ "type": "address"
1115
+ }
1116
+ ],
1117
+ "name": "setAuthority",
1118
+ "outputs": [],
1119
+ "stateMutability": "nonpayable",
676
1120
  "type": "function"
677
1121
  },
678
1122
  {
@@ -705,6 +1149,19 @@
705
1149
  "stateMutability": "nonpayable",
706
1150
  "type": "function"
707
1151
  },
1152
+ {
1153
+ "inputs": [
1154
+ {
1155
+ "internalType": "RoleId",
1156
+ "name": "bundleOwnerRole",
1157
+ "type": "uint64"
1158
+ }
1159
+ ],
1160
+ "name": "setBundleOwnerRole",
1161
+ "outputs": [],
1162
+ "stateMutability": "nonpayable",
1163
+ "type": "function"
1164
+ },
708
1165
  {
709
1166
  "inputs": [
710
1167
  {
@@ -764,6 +1221,19 @@
764
1221
  "stateMutability": "nonpayable",
765
1222
  "type": "function"
766
1223
  },
1224
+ {
1225
+ "inputs": [
1226
+ {
1227
+ "internalType": "uint256",
1228
+ "name": "maxCapitalAmount",
1229
+ "type": "uint256"
1230
+ }
1231
+ ],
1232
+ "name": "setMaxCapitalAmount",
1233
+ "outputs": [],
1234
+ "stateMutability": "nonpayable",
1235
+ "type": "function"
1236
+ },
767
1237
  {
768
1238
  "inputs": [
769
1239
  {
@@ -777,6 +1247,37 @@
777
1247
  "stateMutability": "nonpayable",
778
1248
  "type": "function"
779
1249
  },
1250
+ {
1251
+ "inputs": [
1252
+ {
1253
+ "internalType": "address",
1254
+ "name": "newWallet",
1255
+ "type": "address"
1256
+ }
1257
+ ],
1258
+ "name": "setWallet",
1259
+ "outputs": [],
1260
+ "stateMutability": "nonpayable",
1261
+ "type": "function"
1262
+ },
1263
+ {
1264
+ "inputs": [
1265
+ {
1266
+ "internalType": "NftId",
1267
+ "name": "bundleNftId",
1268
+ "type": "uint96"
1269
+ },
1270
+ {
1271
+ "internalType": "uint256",
1272
+ "name": "amount",
1273
+ "type": "uint256"
1274
+ }
1275
+ ],
1276
+ "name": "stake",
1277
+ "outputs": [],
1278
+ "stateMutability": "nonpayable",
1279
+ "type": "function"
1280
+ },
780
1281
  {
781
1282
  "inputs": [
782
1283
  {
@@ -796,78 +1297,80 @@
796
1297
  "stateMutability": "view",
797
1298
  "type": "function"
798
1299
  },
1300
+ {
1301
+ "inputs": [],
1302
+ "name": "unlock",
1303
+ "outputs": [],
1304
+ "stateMutability": "nonpayable",
1305
+ "type": "function"
1306
+ },
799
1307
  {
800
1308
  "inputs": [
801
1309
  {
802
1310
  "internalType": "NftId",
803
- "name": "policyNftId",
1311
+ "name": "bundleNftId",
804
1312
  "type": "uint96"
805
- },
806
- {
807
- "internalType": "bytes",
808
- "name": "policyData",
809
- "type": "bytes"
810
- },
1313
+ }
1314
+ ],
1315
+ "name": "unlockBundle",
1316
+ "outputs": [],
1317
+ "stateMutability": "nonpayable",
1318
+ "type": "function"
1319
+ },
1320
+ {
1321
+ "inputs": [
811
1322
  {
812
- "internalType": "bytes",
813
- "name": "bundleFilter",
814
- "type": "bytes"
1323
+ "internalType": "NftId",
1324
+ "name": "bundleNftId",
1325
+ "type": "uint96"
815
1326
  },
816
1327
  {
817
1328
  "internalType": "uint256",
818
- "name": "collateralizationAmount",
1329
+ "name": "amount",
819
1330
  "type": "uint256"
820
1331
  }
821
1332
  ],
822
- "name": "underwrite",
1333
+ "name": "unstake",
823
1334
  "outputs": [],
824
1335
  "stateMutability": "nonpayable",
825
1336
  "type": "function"
826
1337
  },
827
1338
  {
828
- "inputs": [],
829
- "name": "unlock",
830
- "outputs": [],
831
- "stateMutability": "nonpayable",
832
- "type": "function"
833
- }
834
- ],
835
- "bytecode": "0x60806040523480156200001157600080fd5b50604051620022bb380380620022bb8339810160408190526200003491620007a1565b898989608c8a856200006c6301ffc9a760e01b60009081526020526000805160206200229b833981519152805460ff19166001179055565b600280546001600160a01b031916331790556040805160208101909152600081526200009d878786868686620003ee565b6000620000b26001546001600160a01b031690565b6040516305247a1760e51b81526001600160601b03891660048201526001600160a01b03919091169063a48f42e090602401600060405180830381865afa15801562000102573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200012c919081019062000912565b6080810151600780546001600160a01b0319166001600160a01b0390921691821790556040516301ffc9a760e01b8152639f07a2f160e01b6004820152919250906301ffc9a790602401602060405180830381865afa15801562000194573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ba9190620009f8565b620001e65760405162461bcd60e51b815260206004820152600060248201526044015b60405180910390fd5b600760009054906101000a90046001600160a01b03166001600160a01b0316636fa298536040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000260919062000a1d565b600380546001600160a01b03199081166001600160a01b0393841617909155600580543090831617905560068054909116918816919091179055634c0cba3d60e11b60009081526020527f8605f84a1fdbc6ff75d8a06315d161884729b429561b502d19c5a33135142c3a805460ff1916600117905550506008805460ff19168d1515179055505050600988905550508451600a5550602080850151600b558351600c5583810151600d558251600e5582810151600f5560075460408051636b9bf08b60e01b815290516001600160a01b0390921692636b9bf08b926004808401938290030181865afa1580156200035c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000382919062000a1d565b601080546001600160a01b0319166001600160a01b0392909216919091179055632d744d3360e11b60009081526020527f8b4532a0111795e202cfc84b9993b64ea185eec29ed9b6b664121b104b35bb00805460ff191660011790555050505050505050505062000b98565b6200041f6301ffc9a760e01b60009081526020526000805160206200229b833981519152805460ff19166001179055565b6200042b8287620004f0565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d010000000000000000000000000086151502178155905060018101620004aa838262000acc565b506303fb044760e21b60009081526020527fb43e4f3791bfcdefa3a0fbe2a5555f8d6490b90e01de0ff40c66f18b49b562c5805460ff1916600117905550505050505050565b600280546001600160a01b0319166001600160a01b03841617905562000516816200051a565b5050565b6001546001600160a01b031615620005555760015460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401620001dd565b6001600160a01b0381166200057d5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003620005b55760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620001dd565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263e14a543960e01b60048201526301ffc9a790602401602060405180830381865afa92505050801562000632575060408051601f3d908101601f191682019092526200062f91810190620009f8565b60015b6200065c5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620001dd565b80620005165760405163fdeac91f60e01b81526001600160a01b0383166004820152602401620001dd565b50565b6001600160a01b03811681146200068757600080fd5b8051620006ad816200068a565b919050565b80516001600160601b0381168114620006ad57600080fd5b80518015158114620006ad57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715620007165762000716620006db565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620007475762000747620006db565b604052919050565b6000604082840312156200076257600080fd5b604080519081016001600160401b0381118282101715620007875762000787620006db565b604052825181526020928301519281019290925250919050565b6000806000806000806000806000806101a08b8d031215620007c257600080fd5b8a51620007cf816200068a565b9950620007df60208c01620006b2565b985060408b0151620007f1816200068a565b97506200080160608c01620006ca565b96506200081160808c01620006ca565b955060a08b01519450620008298c60c08d016200074f565b93506200083b8c6101008d016200074f565b92506200084d8c6101408d016200074f565b91506101808b015162000860816200068a565b809150509295989b9194979a5092959850565b805160ff81168114620006ad57600080fd5b600082601f8301126200089757600080fd5b81516001600160401b03811115620008b357620008b3620006db565b6020620008c9601f8301601f191682016200071c565b8281528582848701011115620008de57600080fd5b60005b83811015620008fe578581018301518282018401528201620008e1565b506000928101909101919091529392505050565b6000602082840312156200092557600080fd5b81516001600160401b03808211156200093d57600080fd5b9083019060e082860312156200095257600080fd5b6200095c620006f1565b6200096783620006b2565b81526200097760208401620006b2565b60208201526200098a6040840162000873565b60408201526200099d60608401620006ca565b6060820152620009b060808401620006a0565b6080820152620009c360a08401620006a0565b60a082015260c083015182811115620009db57600080fd5b620009e98782860162000885565b60c08301525095945050505050565b60006020828403121562000a0b57600080fd5b62000a1682620006ca565b9392505050565b60006020828403121562000a3057600080fd5b815162000a16816200068a565b600181811c9082168062000a5257607f821691505b60208210810362000a7357634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000ac757600081815260208120601f850160051c8101602086101562000aa25750805b601f850160051c820191505b8181101562000ac35782815560010162000aae565b5050505b505050565b81516001600160401b0381111562000ae85762000ae8620006db565b62000b008162000af9845462000a3d565b8462000a79565b602080601f83116001811462000b38576000841562000b1f5750858301515b600019600386901b1c1916600185901b17855562000ac3565b600085815260208120601f198616915b8281101562000b695788860151825594840194600190910190840162000b48565b508582101562000b885787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6116f38062000ba86000396000f3fe608060405234801561001057600080fd5b506004361061014c5760003560e01c8063644c45e0116100c3578063a69df4b51161007c578063a69df4b5146102ef578063c200b809146102f7578063d7f5e609146102ff578063dab1232514610312578063de7b5d1414610328578063f83d08ba1461033957600080fd5b8063644c45e01461028957806365effc1a146102a157806382678766146102b457806387ef9ba0146102c7578063893d20e8146102d25780638e7ff97e146102da57600080fd5b80631eff4b22116101155780631eff4b221461020457806321df0da7146102395780632a65c6881461024a57806354afef631461025d5780635ab1bd5314610265578063636450f51461027657600080fd5b806251884a1461015157806301ffc9a7146101825780630fec111c146101bf57806313299604146101d5578063138461e0146101fa575b600080fd5b600754600160a01b90046001600160601b03165b6040516001600160601b0390911681526020015b60405180910390f35b6101af610190366004610fcd565b6001600160e01b03191660009081526020819052604090205460ff1690565b6040519015158152602001610179565b6101c7610341565b604051610179929190611044565b6005546001600160a01b03165b6040516001600160a01b039091168152602001610179565b6102026103bb565b005b61022b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610179565b6006546001600160a01b03166101e2565b610202610258366004611103565b6105dd565b60095461022b565b6001546001600160a01b03166101e2565b6102026102843660046111b3565b61073f565b600154600160a01b90046001600160601b0316610165565b6102026102af366004611276565b6107a7565b6102026102c23660046112f4565b61081d565b60085460ff166101af565b6101e26108f8565b6102e2610a16565b604051610179919061133a565b610202610ac4565b6102e2610b72565b61016561030d3660046113df565b610c82565b6101af610320366004611441565b600192915050565b6007546001600160a01b03166101e2565b610202610d0c565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c08201819052909180610385610d89565b9150915081610392610a16565b6040516020016103a2919061133a565b6040516020818303038152906040529350935050509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561041d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044191906114ba565b15610488576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166104b15760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa1580156104fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051e91906114ba565b610546576040516372657a5160e01b81526001600160a01b038216600482015260240161047f565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b491906114e0565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60006105e76108f8565b90506001600160a01b0381161580159061060a5750336001600160a01b03821614155b1561062a5760405163700dd81160e01b815233600482015260240161047f565b60075473__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__9063c4cade9d90600160a01b90046001600160601b031660006040516001600160e01b031960e085901b1681526001600160601b03928316600482015291166024820152604401602060405180830381865af41580156106a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ca91906114ba565b6107165760405162461bcd60e51b815260206004820152601a60248201527f70726f64756374206e667420696420616c726561647920736574000000000000604482015260640161047f565b50600780546001600160601b03909216600160a01b026001600160a01b03909216919091179055565b60105460405163636450f560e01b81526001600160a01b039091169063636450f59061077190859085906004016114fd565b600060405180830381600087803b15801561078b57600080fd5b505af115801561079f573d6000803e3d6000fd5b505050505050565b6011546001600160a01b0316331461080b5760405162461bcd60e51b815260206004820152602160248201527f4552524f523a504f4c2d3030323a4e4f545f50524f445543545f5345525649436044820152604560f81b606482015260840161047f565b61081784848484610f0f565b50505050565b60006108276108f8565b90506001600160a01b0381161580159061084a5750336001600160a01b03821614155b1561086a5760405163700dd81160e01b815233600482015260240161047f565b601054604051634133c3b360e11b8152855160048201526020808701516024830152855160448301528086015160648301528451608483015284015160a48201526001600160a01b039091169063826787669060c401600060405180830381600087803b1580156108da57600080fd5b505af11580156108ee573d6000803e3d6000fd5b5050505050505050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561095d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098191906114ba565b15610a0657600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156109dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a019190611544565b905090565b506002546001600160a01b031690565b610a1e610f5d565b506040805161010081018252600754600160a01b90046001600160601b031681526006546001600160a01b039081166020808401919091526009548385015283518085018552600a548152600b5481830152606084015283518085018552600c548152600d548183015260808401528351808501909452600e548452600f549084015260a082019290925260085460ff16151560c082015260055490911660e082015290565b6000610ace6108f8565b90506001600160a01b03811615801590610af15750336001600160a01b03821614155b15610b115760405163700dd81160e01b815233600482015260240161047f565b600354604051630bdb124f60e21b81523060048201526001600160a01b0390911690632f6c493c906024015b600060405180830381600087803b158015610b5757600080fd5b505af1158015610b6b573d6000803e3d6000fd5b5050505050565b610b7a610f5d565b600754604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610bc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be89190611544565b9050806001600160a01b03166355e343a9610c136001546001600160601b03600160a01b9091041690565b6040516001600160e01b031960e084901b1681526001600160601b03909116600482015260240161016060405180830381865afa158015610c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7c9190611591565b91505090565b60105460405163e3458d5360e01b815260009133916001600160a01b039091169063e3458d5390610cbf9084908a908a908a908a90600401611633565b6020604051808303816000875af1158015610cde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0291906114e0565b9695505050505050565b6000610d166108f8565b90506001600160a01b03811615801590610d395750336001600160a01b03821614155b15610d595760405163700dd81160e01b815233600482015260240161047f565b60035460405163f435f5a760e01b81523060048201526001600160a01b039091169063f435f5a790602401610b3d565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c0810191909152606060007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e00160405280610e106001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610e586108f8565b6001600160a01b03168152602001826001018054610e7590611683565b80601f0160208091040260200160405190810160405280929190818152602001828054610ea190611683565b8015610eee5780601f10610ec357610100808354040283529160200191610eee565b820191906000526020600020905b815481529060010190602001808311610ed157829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b604080516001600160601b038616815260208101839052308183015290517ffa749b7f8c958183586325608c5d122eb3a8beb56a4d6ac2c88b78193e9facb99181900360600190a150505050565b60408051610100810182526000808252602080830182905282840182905283518085018552828152808201839052606084015283518085018552828152808201839052608084015283518085019094528184528301529060a0820190815260006020820181905260409091015290565b600060208284031215610fdf57600080fd5b81356001600160e01b031981168114610ff757600080fd5b9392505050565b6000815180845260005b8181101561102457602081850181015186830182015201611008565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161108860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e06101008401526110ce610120840182610ffe565b905082810360208401526110e28185610ffe565b95945050505050565b6001600160601b038116811461110057600080fd5b50565b60006020828403121561111557600080fd5b8135610ff7816110eb565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561115957611159611120565b60405290565b604051610100810167ffffffffffffffff8111828210171561115957611159611120565b60006040828403121561119557600080fd5b61119d611136565b9050813581526020820135602082015292915050565b600080606083850312156111c657600080fd5b82356111d1816110eb565b91506111e08460208501611183565b90509250929050565b600082601f8301126111fa57600080fd5b813567ffffffffffffffff8082111561121557611215611120565b604051601f8301601f19908116603f0116810190828211818310171561123d5761123d611120565b8160405283815286602085880101111561125657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806080858703121561128c57600080fd5b8435611297816110eb565b9350602085013567ffffffffffffffff808211156112b457600080fd5b6112c0888389016111e9565b945060408701359150808211156112d657600080fd5b506112e3878288016111e9565b949793965093946060013593505050565b600080600060c0848603121561130957600080fd5b6113138585611183565b92506113228560408601611183565b91506113318560808601611183565b90509250925092565b81516001600160601b031681526020808301516001600160a01b031690820152604080830151908201526060808301516101608301916113869084018280518252602090810151910152565b506080830151805160a0840152602081015160c08401525060a0830151805160e084015260208101516101008401525060c0830151151561012083015260e08301516001600160a01b0381166101408401525092915050565b60008060008060a085870312156113f557600080fd5b6113ff8686611183565b93506040850135925060608501359150608085013567ffffffffffffffff81111561142957600080fd5b611435878288016111e9565b91505092959194509250565b6000806040838503121561145457600080fd5b823567ffffffffffffffff8082111561146c57600080fd5b611478868387016111e9565b9350602085013591508082111561148e57600080fd5b5061149b858286016111e9565b9150509250929050565b805180151581146114b557600080fd5b919050565b6000602082840312156114cc57600080fd5b610ff7826114a5565b80516114b5816110eb565b6000602082840312156114f257600080fd5b8151610ff7816110eb565b6001600160601b038316815260608101610ff7602083018480518252602090810151910152565b6001600160a01b038116811461110057600080fd5b80516114b581611524565b60006020828403121561155657600080fd5b8151610ff781611524565b60006040828403121561157357600080fd5b61157b611136565b9050815181526020820151602082015292915050565b600061016082840312156115a457600080fd5b6115ac61115f565b6115b5836114d5565b81526115c360208401611539565b6020820152604083015160408201526115df8460608501611561565b60608201526115f18460a08501611561565b60808201526116038460e08501611561565b60a082015261161561012084016114a5565b60c08201526116276101408401611539565b60e08201529392505050565b6001600160a01b0386168152611656602082018680518252602090810151910152565b83606082015282608082015260c060a0820152600061167860c0830184610ffe565b979650505050505050565b600181811c9082168061169757607f821691505b6020821081036116b757634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220c9413f9ec769522e91104b73e66ec507bcbd298a7f6156df5dcd32ea334c086664736f6c6343000814003367be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5",
836
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014c5760003560e01c8063644c45e0116100c3578063a69df4b51161007c578063a69df4b5146102ef578063c200b809146102f7578063d7f5e609146102ff578063dab1232514610312578063de7b5d1414610328578063f83d08ba1461033957600080fd5b8063644c45e01461028957806365effc1a146102a157806382678766146102b457806387ef9ba0146102c7578063893d20e8146102d25780638e7ff97e146102da57600080fd5b80631eff4b22116101155780631eff4b221461020457806321df0da7146102395780632a65c6881461024a57806354afef631461025d5780635ab1bd5314610265578063636450f51461027657600080fd5b806251884a1461015157806301ffc9a7146101825780630fec111c146101bf57806313299604146101d5578063138461e0146101fa575b600080fd5b600754600160a01b90046001600160601b03165b6040516001600160601b0390911681526020015b60405180910390f35b6101af610190366004610fcd565b6001600160e01b03191660009081526020819052604090205460ff1690565b6040519015158152602001610179565b6101c7610341565b604051610179929190611044565b6005546001600160a01b03165b6040516001600160a01b039091168152602001610179565b6102026103bb565b005b61022b7f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610179565b6006546001600160a01b03166101e2565b610202610258366004611103565b6105dd565b60095461022b565b6001546001600160a01b03166101e2565b6102026102843660046111b3565b61073f565b600154600160a01b90046001600160601b0316610165565b6102026102af366004611276565b6107a7565b6102026102c23660046112f4565b61081d565b60085460ff166101af565b6101e26108f8565b6102e2610a16565b604051610179919061133a565b610202610ac4565b6102e2610b72565b61016561030d3660046113df565b610c82565b6101af610320366004611441565b600192915050565b6007546001600160a01b03166101e2565b610202610d0c565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c08201819052909180610385610d89565b9150915081610392610a16565b6040516020016103a2919061133a565b6040516020818303038152906040529350935050509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561041d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044191906114ba565b15610488576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166104b15760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa1580156104fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051e91906114ba565b610546576040516372657a5160e01b81526001600160a01b038216600482015260240161047f565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b491906114e0565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60006105e76108f8565b90506001600160a01b0381161580159061060a5750336001600160a01b03821614155b1561062a5760405163700dd81160e01b815233600482015260240161047f565b60075473__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__9063c4cade9d90600160a01b90046001600160601b031660006040516001600160e01b031960e085901b1681526001600160601b03928316600482015291166024820152604401602060405180830381865af41580156106a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ca91906114ba565b6107165760405162461bcd60e51b815260206004820152601a60248201527f70726f64756374206e667420696420616c726561647920736574000000000000604482015260640161047f565b50600780546001600160601b03909216600160a01b026001600160a01b03909216919091179055565b60105460405163636450f560e01b81526001600160a01b039091169063636450f59061077190859085906004016114fd565b600060405180830381600087803b15801561078b57600080fd5b505af115801561079f573d6000803e3d6000fd5b505050505050565b6011546001600160a01b0316331461080b5760405162461bcd60e51b815260206004820152602160248201527f4552524f523a504f4c2d3030323a4e4f545f50524f445543545f5345525649436044820152604560f81b606482015260840161047f565b61081784848484610f0f565b50505050565b60006108276108f8565b90506001600160a01b0381161580159061084a5750336001600160a01b03821614155b1561086a5760405163700dd81160e01b815233600482015260240161047f565b601054604051634133c3b360e11b8152855160048201526020808701516024830152855160448301528086015160648301528451608483015284015160a48201526001600160a01b039091169063826787669060c401600060405180830381600087803b1580156108da57600080fd5b505af11580156108ee573d6000803e3d6000fd5b5050505050505050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561095d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098191906114ba565b15610a0657600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156109dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a019190611544565b905090565b506002546001600160a01b031690565b610a1e610f5d565b506040805161010081018252600754600160a01b90046001600160601b031681526006546001600160a01b039081166020808401919091526009548385015283518085018552600a548152600b5481830152606084015283518085018552600c548152600d548183015260808401528351808501909452600e548452600f549084015260a082019290925260085460ff16151560c082015260055490911660e082015290565b6000610ace6108f8565b90506001600160a01b03811615801590610af15750336001600160a01b03821614155b15610b115760405163700dd81160e01b815233600482015260240161047f565b600354604051630bdb124f60e21b81523060048201526001600160a01b0390911690632f6c493c906024015b600060405180830381600087803b158015610b5757600080fd5b505af1158015610b6b573d6000803e3d6000fd5b5050505050565b610b7a610f5d565b600754604080516302cd307160e01b815290516000926001600160a01b0316916302cd30719160048083019260209291908290030181865afa158015610bc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be89190611544565b9050806001600160a01b03166355e343a9610c136001546001600160601b03600160a01b9091041690565b6040516001600160e01b031960e084901b1681526001600160601b03909116600482015260240161016060405180830381865afa158015610c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7c9190611591565b91505090565b60105460405163e3458d5360e01b815260009133916001600160a01b039091169063e3458d5390610cbf9084908a908a908a908a90600401611633565b6020604051808303816000875af1158015610cde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0291906114e0565b9695505050505050565b6000610d166108f8565b90506001600160a01b03811615801590610d395750336001600160a01b03821614155b15610d595760405163700dd81160e01b815233600482015260240161047f565b60035460405163f435f5a760e01b81523060048201526001600160a01b039091169063f435f5a790602401610b3d565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a082019290925260c0810191909152606060007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e00160405280610e106001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a001610e586108f8565b6001600160a01b03168152602001826001018054610e7590611683565b80601f0160208091040260200160405190810160405280929190818152602001828054610ea190611683565b8015610eee5780601f10610ec357610100808354040283529160200191610eee565b820191906000526020600020905b815481529060010190602001808311610ed157829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b604080516001600160601b038616815260208101839052308183015290517ffa749b7f8c958183586325608c5d122eb3a8beb56a4d6ac2c88b78193e9facb99181900360600190a150505050565b60408051610100810182526000808252602080830182905282840182905283518085018552828152808201839052606084015283518085018552828152808201839052608084015283518085019094528184528301529060a0820190815260006020820181905260409091015290565b600060208284031215610fdf57600080fd5b81356001600160e01b031981168114610ff757600080fd5b9392505050565b6000815180845260005b8181101561102457602081850181015186830182015201611008565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161108860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e06101008401526110ce610120840182610ffe565b905082810360208401526110e28185610ffe565b95945050505050565b6001600160601b038116811461110057600080fd5b50565b60006020828403121561111557600080fd5b8135610ff7816110eb565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561115957611159611120565b60405290565b604051610100810167ffffffffffffffff8111828210171561115957611159611120565b60006040828403121561119557600080fd5b61119d611136565b9050813581526020820135602082015292915050565b600080606083850312156111c657600080fd5b82356111d1816110eb565b91506111e08460208501611183565b90509250929050565b600082601f8301126111fa57600080fd5b813567ffffffffffffffff8082111561121557611215611120565b604051601f8301601f19908116603f0116810190828211818310171561123d5761123d611120565b8160405283815286602085880101111561125657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806080858703121561128c57600080fd5b8435611297816110eb565b9350602085013567ffffffffffffffff808211156112b457600080fd5b6112c0888389016111e9565b945060408701359150808211156112d657600080fd5b506112e3878288016111e9565b949793965093946060013593505050565b600080600060c0848603121561130957600080fd5b6113138585611183565b92506113228560408601611183565b91506113318560808601611183565b90509250925092565b81516001600160601b031681526020808301516001600160a01b031690820152604080830151908201526060808301516101608301916113869084018280518252602090810151910152565b506080830151805160a0840152602081015160c08401525060a0830151805160e084015260208101516101008401525060c0830151151561012083015260e08301516001600160a01b0381166101408401525092915050565b60008060008060a085870312156113f557600080fd5b6113ff8686611183565b93506040850135925060608501359150608085013567ffffffffffffffff81111561142957600080fd5b611435878288016111e9565b91505092959194509250565b6000806040838503121561145457600080fd5b823567ffffffffffffffff8082111561146c57600080fd5b611478868387016111e9565b9350602085013591508082111561148e57600080fd5b5061149b858286016111e9565b9150509250929050565b805180151581146114b557600080fd5b919050565b6000602082840312156114cc57600080fd5b610ff7826114a5565b80516114b5816110eb565b6000602082840312156114f257600080fd5b8151610ff7816110eb565b6001600160601b038316815260608101610ff7602083018480518252602090810151910152565b6001600160a01b038116811461110057600080fd5b80516114b581611524565b60006020828403121561155657600080fd5b8151610ff781611524565b60006040828403121561157357600080fd5b61157b611136565b9050815181526020820151602082015292915050565b600061016082840312156115a457600080fd5b6115ac61115f565b6115b5836114d5565b81526115c360208401611539565b6020820152604083015160408201526115df8460608501611561565b60608201526115f18460a08501611561565b60808201526116038460e08501611561565b60a082015261161561012084016114a5565b60c08201526116276101408401611539565b60e08201529392505050565b6001600160a01b0386168152611656602082018680518252602090810151910152565b83606082015282608082015260c060a0820152600061167860c0830184610ffe565b979650505050505050565b600181811c9082168061169757607f821691505b6020821081036116b757634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220c9413f9ec769522e91104b73e66ec507bcbd298a7f6156df5dcd32ea334c086664736f6c63430008140033",
837
- "linkReferences": {
838
- "contracts/types/NftId.sol": {
839
- "NftIdLib": [
1339
+ "inputs": [
840
1340
  {
841
- "length": 20,
842
- "start": 3979
1341
+ "internalType": "NftId",
1342
+ "name": "applicationNftId",
1343
+ "type": "uint96"
843
1344
  },
844
1345
  {
845
- "length": 20,
846
- "start": 4567
1346
+ "internalType": "bytes",
1347
+ "name": "applicationData",
1348
+ "type": "bytes"
847
1349
  },
848
1350
  {
849
- "length": 20,
850
- "start": 5323
851
- }
852
- ]
853
- }
854
- },
855
- "deployedLinkReferences": {
856
- "contracts/types/NftId.sol": {
857
- "NftIdLib": [
858
- {
859
- "length": 20,
860
- "start": 995
1351
+ "internalType": "NftId",
1352
+ "name": "bundleNftId",
1353
+ "type": "uint96"
861
1354
  },
862
1355
  {
863
- "length": 20,
864
- "start": 1583
1356
+ "internalType": "bytes",
1357
+ "name": "bundleFilter",
1358
+ "type": "bytes"
865
1359
  },
866
1360
  {
867
- "length": 20,
868
- "start": 2339
1361
+ "internalType": "uint256",
1362
+ "name": "collateralizationAmount",
1363
+ "type": "uint256"
869
1364
  }
870
- ]
1365
+ ],
1366
+ "name": "verifyApplication",
1367
+ "outputs": [],
1368
+ "stateMutability": "nonpayable",
1369
+ "type": "function"
871
1370
  }
872
- }
1371
+ ],
1372
+ "bytecode": "0x",
1373
+ "deployedBytecode": "0x",
1374
+ "linkReferences": {},
1375
+ "deployedLinkReferences": {}
873
1376
  }