@towns-labs/web3 2.0.1

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 (378) hide show
  1. package/README.md +3 -0
  2. package/dist/BaseContractShim.d.ts +57 -0
  3. package/dist/BaseContractShim.d.ts.map +1 -0
  4. package/dist/BaseContractShim.js +224 -0
  5. package/dist/BaseContractShim.js.map +1 -0
  6. package/dist/airdrop/IDropFacetShim.d.ts +9 -0
  7. package/dist/airdrop/IDropFacetShim.d.ts.map +1 -0
  8. package/dist/airdrop/IDropFacetShim.js +9 -0
  9. package/dist/airdrop/IDropFacetShim.js.map +1 -0
  10. package/dist/airdrop/IRiverPointsShim.d.ts +9 -0
  11. package/dist/airdrop/IRiverPointsShim.d.ts.map +1 -0
  12. package/dist/airdrop/IRiverPointsShim.js +9 -0
  13. package/dist/airdrop/IRiverPointsShim.js.map +1 -0
  14. package/dist/airdrop/RiverAirdropDapp.d.ts +16 -0
  15. package/dist/airdrop/RiverAirdropDapp.d.ts.map +1 -0
  16. package/dist/airdrop/RiverAirdropDapp.js +30 -0
  17. package/dist/airdrop/RiverAirdropDapp.js.map +1 -0
  18. package/dist/app-registry/AppRegistryDapp.d.ts +68 -0
  19. package/dist/app-registry/AppRegistryDapp.d.ts.map +1 -0
  20. package/dist/app-registry/AppRegistryDapp.js +182 -0
  21. package/dist/app-registry/AppRegistryDapp.js.map +1 -0
  22. package/dist/app-registry/IAppFactoryShim.d.ts +9 -0
  23. package/dist/app-registry/IAppFactoryShim.d.ts.map +1 -0
  24. package/dist/app-registry/IAppFactoryShim.js +9 -0
  25. package/dist/app-registry/IAppFactoryShim.js.map +1 -0
  26. package/dist/app-registry/IAppInstallerShim.d.ts +9 -0
  27. package/dist/app-registry/IAppInstallerShim.d.ts.map +1 -0
  28. package/dist/app-registry/IAppInstallerShim.js +9 -0
  29. package/dist/app-registry/IAppInstallerShim.js.map +1 -0
  30. package/dist/app-registry/IAppRegistryShim.d.ts +9 -0
  31. package/dist/app-registry/IAppRegistryShim.d.ts.map +1 -0
  32. package/dist/app-registry/IAppRegistryShim.js +9 -0
  33. package/dist/app-registry/IAppRegistryShim.js.map +1 -0
  34. package/dist/app-registry/IIdentityRegistryShim.d.ts +9 -0
  35. package/dist/app-registry/IIdentityRegistryShim.d.ts.map +1 -0
  36. package/dist/app-registry/IIdentityRegistryShim.js +9 -0
  37. package/dist/app-registry/IIdentityRegistryShim.js.map +1 -0
  38. package/dist/app-registry/IReputationRegistryShim.d.ts +9 -0
  39. package/dist/app-registry/IReputationRegistryShim.d.ts.map +1 -0
  40. package/dist/app-registry/IReputationRegistryShim.js +9 -0
  41. package/dist/app-registry/IReputationRegistryShim.js.map +1 -0
  42. package/dist/app-registry/SimpleAppShim.d.ts +9 -0
  43. package/dist/app-registry/SimpleAppShim.d.ts.map +1 -0
  44. package/dist/app-registry/SimpleAppShim.js +9 -0
  45. package/dist/app-registry/SimpleAppShim.js.map +1 -0
  46. package/dist/base-registry/BaseRegistry.d.ts +32 -0
  47. package/dist/base-registry/BaseRegistry.d.ts.map +1 -0
  48. package/dist/base-registry/BaseRegistry.js +67 -0
  49. package/dist/base-registry/BaseRegistry.js.map +1 -0
  50. package/dist/base-registry/IEntitlementCheckerShim.d.ts +9 -0
  51. package/dist/base-registry/IEntitlementCheckerShim.d.ts.map +1 -0
  52. package/dist/base-registry/IEntitlementCheckerShim.js +9 -0
  53. package/dist/base-registry/IEntitlementCheckerShim.js.map +1 -0
  54. package/dist/base-registry/INodeOperatorShim.d.ts +9 -0
  55. package/dist/base-registry/INodeOperatorShim.d.ts.map +1 -0
  56. package/dist/base-registry/INodeOperatorShim.js +9 -0
  57. package/dist/base-registry/INodeOperatorShim.js.map +1 -0
  58. package/dist/base-registry/ISpaceDelegationShim.d.ts +9 -0
  59. package/dist/base-registry/ISpaceDelegationShim.d.ts.map +1 -0
  60. package/dist/base-registry/ISpaceDelegationShim.js +9 -0
  61. package/dist/base-registry/ISpaceDelegationShim.js.map +1 -0
  62. package/dist/base-registry/RewardsDistributionShim.d.ts +9 -0
  63. package/dist/base-registry/RewardsDistributionShim.d.ts.map +1 -0
  64. package/dist/base-registry/RewardsDistributionShim.js +9 -0
  65. package/dist/base-registry/RewardsDistributionShim.js.map +1 -0
  66. package/dist/cache/EntitlementCache.d.ts +25 -0
  67. package/dist/cache/EntitlementCache.d.ts.map +1 -0
  68. package/dist/cache/EntitlementCache.js +91 -0
  69. package/dist/cache/EntitlementCache.js.map +1 -0
  70. package/dist/cache/ICacheStorage.d.ts +44 -0
  71. package/dist/cache/ICacheStorage.d.ts.map +1 -0
  72. package/dist/cache/ICacheStorage.js +2 -0
  73. package/dist/cache/ICacheStorage.js.map +1 -0
  74. package/dist/cache/KVCacheStorage.d.ts +79 -0
  75. package/dist/cache/KVCacheStorage.d.ts.map +1 -0
  76. package/dist/cache/KVCacheStorage.js +227 -0
  77. package/dist/cache/KVCacheStorage.js.map +1 -0
  78. package/dist/cache/Keyable.d.ts +20 -0
  79. package/dist/cache/Keyable.d.ts.map +1 -0
  80. package/dist/cache/Keyable.js +62 -0
  81. package/dist/cache/Keyable.js.map +1 -0
  82. package/dist/cache/SimpleCache.d.ts +30 -0
  83. package/dist/cache/SimpleCache.d.ts.map +1 -0
  84. package/dist/cache/SimpleCache.js +84 -0
  85. package/dist/cache/SimpleCache.js.map +1 -0
  86. package/dist/cache/TTLCacheStorage.d.ts +19 -0
  87. package/dist/cache/TTLCacheStorage.d.ts.map +1 -0
  88. package/dist/cache/TTLCacheStorage.js +40 -0
  89. package/dist/cache/TTLCacheStorage.js.map +1 -0
  90. package/dist/chain.d.ts +89 -0
  91. package/dist/chain.d.ts.map +1 -0
  92. package/dist/chain.js +48 -0
  93. package/dist/chain.js.map +1 -0
  94. package/dist/delegate-registry/DelegateRegistry.d.ts +3 -0
  95. package/dist/delegate-registry/DelegateRegistry.d.ts.map +1 -0
  96. package/dist/delegate-registry/DelegateRegistry.js +72 -0
  97. package/dist/delegate-registry/DelegateRegistry.js.map +1 -0
  98. package/dist/eip-712/EIP-712.d.ts +35 -0
  99. package/dist/eip-712/EIP-712.d.ts.map +1 -0
  100. package/dist/eip-712/EIP-712.js +57 -0
  101. package/dist/eip-712/EIP-712.js.map +1 -0
  102. package/dist/erc-721/IERC721AQueryableShim.d.ts +9 -0
  103. package/dist/erc-721/IERC721AQueryableShim.d.ts.map +1 -0
  104. package/dist/erc-721/IERC721AQueryableShim.js +9 -0
  105. package/dist/erc-721/IERC721AQueryableShim.js.map +1 -0
  106. package/dist/erc-721/IERC721AShim.d.ts +9 -0
  107. package/dist/erc-721/IERC721AShim.d.ts.map +1 -0
  108. package/dist/erc-721/IERC721AShim.js +9 -0
  109. package/dist/erc-721/IERC721AShim.js.map +1 -0
  110. package/dist/index.d.ts +96 -0
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +96 -0
  113. package/dist/index.js.map +1 -0
  114. package/dist/platform-requirements/PlatformRequirements.d.ts +12 -0
  115. package/dist/platform-requirements/PlatformRequirements.d.ts.map +1 -0
  116. package/dist/platform-requirements/PlatformRequirements.js +18 -0
  117. package/dist/platform-requirements/PlatformRequirements.js.map +1 -0
  118. package/dist/pricing-modules/IPricingShim.d.ts +9 -0
  119. package/dist/pricing-modules/IPricingShim.d.ts.map +1 -0
  120. package/dist/pricing-modules/IPricingShim.js +9 -0
  121. package/dist/pricing-modules/IPricingShim.js.map +1 -0
  122. package/dist/pricing-modules/PricingModules.d.ts +13 -0
  123. package/dist/pricing-modules/PricingModules.d.ts.map +1 -0
  124. package/dist/pricing-modules/PricingModules.js +23 -0
  125. package/dist/pricing-modules/PricingModules.js.map +1 -0
  126. package/dist/pricing-modules/helpers.d.ts +16 -0
  127. package/dist/pricing-modules/helpers.d.ts.map +1 -0
  128. package/dist/pricing-modules/helpers.js +35 -0
  129. package/dist/pricing-modules/helpers.js.map +1 -0
  130. package/dist/readContractRetryer.d.ts +10 -0
  131. package/dist/readContractRetryer.d.ts.map +1 -0
  132. package/dist/readContractRetryer.js +68 -0
  133. package/dist/readContractRetryer.js.map +1 -0
  134. package/dist/river-registry/INodeRegistryShim.d.ts +9 -0
  135. package/dist/river-registry/INodeRegistryShim.d.ts.map +1 -0
  136. package/dist/river-registry/INodeRegistryShim.js +9 -0
  137. package/dist/river-registry/INodeRegistryShim.js.map +1 -0
  138. package/dist/river-registry/IOperatorRegistryShim.d.ts +9 -0
  139. package/dist/river-registry/IOperatorRegistryShim.d.ts.map +1 -0
  140. package/dist/river-registry/IOperatorRegistryShim.js +9 -0
  141. package/dist/river-registry/IOperatorRegistryShim.js.map +1 -0
  142. package/dist/river-registry/IStreamRegistryShim.d.ts +9 -0
  143. package/dist/river-registry/IStreamRegistryShim.d.ts.map +1 -0
  144. package/dist/river-registry/IStreamRegistryShim.js +9 -0
  145. package/dist/river-registry/IStreamRegistryShim.js.map +1 -0
  146. package/dist/river-registry/RiverRegistry.d.ts +18 -0
  147. package/dist/river-registry/RiverRegistry.d.ts.map +1 -0
  148. package/dist/river-registry/RiverRegistry.js +42 -0
  149. package/dist/river-registry/RiverRegistry.js.map +1 -0
  150. package/dist/river-registry/RiverRegistryFactory.d.ts +5 -0
  151. package/dist/river-registry/RiverRegistryFactory.d.ts.map +1 -0
  152. package/dist/river-registry/RiverRegistryFactory.js +5 -0
  153. package/dist/river-registry/RiverRegistryFactory.js.map +1 -0
  154. package/dist/space/IAppAccountShim.d.ts +9 -0
  155. package/dist/space/IAppAccountShim.d.ts.map +1 -0
  156. package/dist/space/IAppAccountShim.js +9 -0
  157. package/dist/space/IAppAccountShim.js.map +1 -0
  158. package/dist/space/IBanningShim.d.ts +9 -0
  159. package/dist/space/IBanningShim.d.ts.map +1 -0
  160. package/dist/space/IBanningShim.js +9 -0
  161. package/dist/space/IBanningShim.js.map +1 -0
  162. package/dist/space/IChannelShim.d.ts +9 -0
  163. package/dist/space/IChannelShim.d.ts.map +1 -0
  164. package/dist/space/IChannelShim.js +9 -0
  165. package/dist/space/IChannelShim.js.map +1 -0
  166. package/dist/space/IEntitlementDataQueryableShim.d.ts +11 -0
  167. package/dist/space/IEntitlementDataQueryableShim.d.ts.map +1 -0
  168. package/dist/space/IEntitlementDataQueryableShim.js +9 -0
  169. package/dist/space/IEntitlementDataQueryableShim.js.map +1 -0
  170. package/dist/space/IEntitlementsShim.d.ts +13 -0
  171. package/dist/space/IEntitlementsShim.d.ts.map +1 -0
  172. package/dist/space/IEntitlementsShim.js +19 -0
  173. package/dist/space/IEntitlementsShim.js.map +1 -0
  174. package/dist/space/IMembershipMetadataShim.d.ts +9 -0
  175. package/dist/space/IMembershipMetadataShim.d.ts.map +1 -0
  176. package/dist/space/IMembershipMetadataShim.js +9 -0
  177. package/dist/space/IMembershipMetadataShim.js.map +1 -0
  178. package/dist/space/IMembershipShim.d.ts +33 -0
  179. package/dist/space/IMembershipShim.d.ts.map +1 -0
  180. package/dist/space/IMembershipShim.js +139 -0
  181. package/dist/space/IMembershipShim.js.map +1 -0
  182. package/dist/space/IMulticallShim.d.ts +13 -0
  183. package/dist/space/IMulticallShim.d.ts.map +1 -0
  184. package/dist/space/IMulticallShim.js +15 -0
  185. package/dist/space/IMulticallShim.js.map +1 -0
  186. package/dist/space/IReviewShim.d.ts +64 -0
  187. package/dist/space/IReviewShim.d.ts.map +1 -0
  188. package/dist/space/IReviewShim.js +102 -0
  189. package/dist/space/IReviewShim.js.map +1 -0
  190. package/dist/space/IRolesShim.d.ts +10 -0
  191. package/dist/space/IRolesShim.d.ts.map +1 -0
  192. package/dist/space/IRolesShim.js +9 -0
  193. package/dist/space/IRolesShim.js.map +1 -0
  194. package/dist/space/ITippingShim.d.ts +39 -0
  195. package/dist/space/ITippingShim.d.ts.map +1 -0
  196. package/dist/space/ITippingShim.js +76 -0
  197. package/dist/space/ITippingShim.js.map +1 -0
  198. package/dist/space/ITreasuryShim.d.ts +9 -0
  199. package/dist/space/ITreasuryShim.d.ts.map +1 -0
  200. package/dist/space/ITreasuryShim.js +9 -0
  201. package/dist/space/ITreasuryShim.js.map +1 -0
  202. package/dist/space/OwnableFacetShim.d.ts +12 -0
  203. package/dist/space/OwnableFacetShim.d.ts.map +1 -0
  204. package/dist/space/OwnableFacetShim.js +19 -0
  205. package/dist/space/OwnableFacetShim.js.map +1 -0
  206. package/dist/space/Space.d.ts +107 -0
  207. package/dist/space/Space.d.ts.map +1 -0
  208. package/dist/space/Space.js +511 -0
  209. package/dist/space/Space.js.map +1 -0
  210. package/dist/space/TokenPausableFacetShim.d.ts +9 -0
  211. package/dist/space/TokenPausableFacetShim.d.ts.map +1 -0
  212. package/dist/space/TokenPausableFacetShim.js +9 -0
  213. package/dist/space/TokenPausableFacetShim.js.map +1 -0
  214. package/dist/space/entitlements/ConvertersEntitlements.d.ts +14 -0
  215. package/dist/space/entitlements/ConvertersEntitlements.d.ts.map +1 -0
  216. package/dist/space/entitlements/ConvertersEntitlements.js +193 -0
  217. package/dist/space/entitlements/ConvertersEntitlements.js.map +1 -0
  218. package/dist/space/entitlements/RuleBuilder.d.ts +83 -0
  219. package/dist/space/entitlements/RuleBuilder.d.ts.map +1 -0
  220. package/dist/space/entitlements/RuleBuilder.js +86 -0
  221. package/dist/space/entitlements/RuleBuilder.js.map +1 -0
  222. package/dist/space/entitlements/RuleEntitlementShim.d.ts +353 -0
  223. package/dist/space/entitlements/RuleEntitlementShim.d.ts.map +1 -0
  224. package/dist/space/entitlements/RuleEntitlementShim.js +40 -0
  225. package/dist/space/entitlements/RuleEntitlementShim.js.map +1 -0
  226. package/dist/space/entitlements/RuleEntitlementV2Shim.d.ts +353 -0
  227. package/dist/space/entitlements/RuleEntitlementV2Shim.d.ts.map +1 -0
  228. package/dist/space/entitlements/RuleEntitlementV2Shim.js +40 -0
  229. package/dist/space/entitlements/RuleEntitlementV2Shim.js.map +1 -0
  230. package/dist/space/entitlements/UserEntitlementShim.d.ts +13 -0
  231. package/dist/space/entitlements/UserEntitlementShim.d.ts.map +1 -0
  232. package/dist/space/entitlements/UserEntitlementShim.js +45 -0
  233. package/dist/space/entitlements/UserEntitlementShim.js.map +1 -0
  234. package/dist/space/entitlements/XChainConfig.d.ts +14 -0
  235. package/dist/space/entitlements/XChainConfig.d.ts.map +1 -0
  236. package/dist/space/entitlements/XChainConfig.js +70 -0
  237. package/dist/space/entitlements/XChainConfig.js.map +1 -0
  238. package/dist/space/entitlements/entitlement.d.ts +147 -0
  239. package/dist/space/entitlements/entitlement.d.ts.map +1 -0
  240. package/dist/space/entitlements/entitlement.js +940 -0
  241. package/dist/space/entitlements/entitlement.js.map +1 -0
  242. package/dist/space/entitlements/validateAndParseXChainConfig.d.ts +6 -0
  243. package/dist/space/entitlements/validateAndParseXChainConfig.d.ts.map +1 -0
  244. package/dist/space/entitlements/validateAndParseXChainConfig.js +34 -0
  245. package/dist/space/entitlements/validateAndParseXChainConfig.js.map +1 -0
  246. package/dist/space-dapp/SpaceDapp.d.ts +223 -0
  247. package/dist/space-dapp/SpaceDapp.d.ts.map +1 -0
  248. package/dist/space-dapp/SpaceDapp.js +1260 -0
  249. package/dist/space-dapp/SpaceDapp.js.map +1 -0
  250. package/dist/space-dapp/SpaceDappFactory.d.ts +5 -0
  251. package/dist/space-dapp/SpaceDappFactory.d.ts.map +1 -0
  252. package/dist/space-dapp/SpaceDappFactory.js +8 -0
  253. package/dist/space-dapp/SpaceDappFactory.js.map +1 -0
  254. package/dist/space-dapp/wrapTransaction.d.ts +4 -0
  255. package/dist/space-dapp/wrapTransaction.d.ts.map +1 -0
  256. package/dist/space-dapp/wrapTransaction.js +99 -0
  257. package/dist/space-dapp/wrapTransaction.js.map +1 -0
  258. package/dist/space-owner/GuardianFacetShim.d.ts +9 -0
  259. package/dist/space-owner/GuardianFacetShim.d.ts.map +1 -0
  260. package/dist/space-owner/GuardianFacetShim.js +9 -0
  261. package/dist/space-owner/GuardianFacetShim.js.map +1 -0
  262. package/dist/space-owner/SpaceOwner.d.ts +48 -0
  263. package/dist/space-owner/SpaceOwner.d.ts.map +1 -0
  264. package/dist/space-owner/SpaceOwner.js +81 -0
  265. package/dist/space-owner/SpaceOwner.js.map +1 -0
  266. package/dist/space-registrar/ICreateSpaceShim.d.ts +11 -0
  267. package/dist/space-registrar/ICreateSpaceShim.d.ts.map +1 -0
  268. package/dist/space-registrar/ICreateSpaceShim.js +9 -0
  269. package/dist/space-registrar/ICreateSpaceShim.js.map +1 -0
  270. package/dist/space-registrar/ILegacySpaceArchitectShim.d.ts +10 -0
  271. package/dist/space-registrar/ILegacySpaceArchitectShim.d.ts.map +1 -0
  272. package/dist/space-registrar/ILegacySpaceArchitectShim.js +9 -0
  273. package/dist/space-registrar/ILegacySpaceArchitectShim.js.map +1 -0
  274. package/dist/space-registrar/ISpaceArchitectShim.d.ts +10 -0
  275. package/dist/space-registrar/ISpaceArchitectShim.d.ts.map +1 -0
  276. package/dist/space-registrar/ISpaceArchitectShim.js +39 -0
  277. package/dist/space-registrar/ISpaceArchitectShim.js.map +1 -0
  278. package/dist/space-registrar/SpaceRegistrar.d.ts +27 -0
  279. package/dist/space-registrar/SpaceRegistrar.d.ts.map +1 -0
  280. package/dist/space-registrar/SpaceRegistrar.js +58 -0
  281. package/dist/space-registrar/SpaceRegistrar.js.map +1 -0
  282. package/dist/test-helpers/LocalhostWeb3Provider.d.ts +19 -0
  283. package/dist/test-helpers/LocalhostWeb3Provider.d.ts.map +1 -0
  284. package/dist/test-helpers/LocalhostWeb3Provider.js +80 -0
  285. package/dist/test-helpers/LocalhostWeb3Provider.js.map +1 -0
  286. package/dist/test-helpers/MockCrossChainEntitlement.d.ts +6 -0
  287. package/dist/test-helpers/MockCrossChainEntitlement.d.ts.map +1 -0
  288. package/dist/test-helpers/MockCrossChainEntitlement.js +104 -0
  289. package/dist/test-helpers/MockCrossChainEntitlement.js.map +1 -0
  290. package/dist/test-helpers/MockERC1155.d.ts +6 -0
  291. package/dist/test-helpers/MockERC1155.d.ts.map +1 -0
  292. package/dist/test-helpers/MockERC1155.js +518 -0
  293. package/dist/test-helpers/MockERC1155.js.map +1 -0
  294. package/dist/test-helpers/MockERC20.d.ts +6 -0
  295. package/dist/test-helpers/MockERC20.d.ts.map +1 -0
  296. package/dist/test-helpers/MockERC20.js +574 -0
  297. package/dist/test-helpers/MockERC20.js.map +1 -0
  298. package/dist/test-helpers/MockERC721A.d.ts +1563 -0
  299. package/dist/test-helpers/MockERC721A.d.ts.map +1 -0
  300. package/dist/test-helpers/MockERC721A.js +1913 -0
  301. package/dist/test-helpers/MockERC721A.js.map +1 -0
  302. package/dist/test-helpers/MockERC721AShim.d.ts +9 -0
  303. package/dist/test-helpers/MockERC721AShim.d.ts.map +1 -0
  304. package/dist/test-helpers/MockERC721AShim.js +9 -0
  305. package/dist/test-helpers/MockERC721AShim.js.map +1 -0
  306. package/dist/test-helpers/TestCrossChainEntitlement.d.ts +14 -0
  307. package/dist/test-helpers/TestCrossChainEntitlement.d.ts.map +1 -0
  308. package/dist/test-helpers/TestCrossChainEntitlement.js +99 -0
  309. package/dist/test-helpers/TestCrossChainEntitlement.js.map +1 -0
  310. package/dist/test-helpers/TestEthBalance.d.ts +72 -0
  311. package/dist/test-helpers/TestEthBalance.d.ts.map +1 -0
  312. package/dist/test-helpers/TestEthBalance.js +94 -0
  313. package/dist/test-helpers/TestEthBalance.js.map +1 -0
  314. package/dist/test-helpers/TestGatingERC1155.d.ts +17 -0
  315. package/dist/test-helpers/TestGatingERC1155.d.ts.map +1 -0
  316. package/dist/test-helpers/TestGatingERC1155.js +100 -0
  317. package/dist/test-helpers/TestGatingERC1155.js.map +1 -0
  318. package/dist/test-helpers/TestGatingERC20.d.ts +17 -0
  319. package/dist/test-helpers/TestGatingERC20.d.ts.map +1 -0
  320. package/dist/test-helpers/TestGatingERC20.js +149 -0
  321. package/dist/test-helpers/TestGatingERC20.js.map +1 -0
  322. package/dist/test-helpers/TestGatingNFT.d.ts +17 -0
  323. package/dist/test-helpers/TestGatingNFT.d.ts.map +1 -0
  324. package/dist/test-helpers/TestGatingNFT.js +137 -0
  325. package/dist/test-helpers/TestGatingNFT.js.map +1 -0
  326. package/dist/test-helpers/TestGatingUtils.d.ts +15 -0
  327. package/dist/test-helpers/TestGatingUtils.d.ts.map +1 -0
  328. package/dist/test-helpers/TestGatingUtils.js +112 -0
  329. package/dist/test-helpers/TestGatingUtils.js.map +1 -0
  330. package/dist/test-helpers/utils.d.ts +22 -0
  331. package/dist/test-helpers/utils.d.ts.map +1 -0
  332. package/dist/test-helpers/utils.js +30 -0
  333. package/dist/test-helpers/utils.js.map +1 -0
  334. package/dist/towns-token/TownsToken.d.ts +17 -0
  335. package/dist/towns-token/TownsToken.d.ts.map +1 -0
  336. package/dist/towns-token/TownsToken.js +33 -0
  337. package/dist/towns-token/TownsToken.js.map +1 -0
  338. package/dist/types/ContractTypes.d.ts +240 -0
  339. package/dist/types/ContractTypes.d.ts.map +1 -0
  340. package/dist/types/ContractTypes.js +65 -0
  341. package/dist/types/ContractTypes.js.map +1 -0
  342. package/dist/types/error-types.d.ts +7 -0
  343. package/dist/types/error-types.d.ts.map +1 -0
  344. package/dist/types/error-types.js +13 -0
  345. package/dist/types/error-types.js.map +1 -0
  346. package/dist/types/typechain.d.ts +4 -0
  347. package/dist/types/typechain.d.ts.map +1 -0
  348. package/dist/types/typechain.js +2 -0
  349. package/dist/types/typechain.js.map +1 -0
  350. package/dist/types/types.d.ts +29 -0
  351. package/dist/types/types.d.ts.map +1 -0
  352. package/dist/types/types.js +2 -0
  353. package/dist/types/types.js.map +1 -0
  354. package/dist/utils/ContractHelpers.d.ts +14 -0
  355. package/dist/utils/ContractHelpers.d.ts.map +1 -0
  356. package/dist/utils/ContractHelpers.js +54 -0
  357. package/dist/utils/ContractHelpers.js.map +1 -0
  358. package/dist/utils/Web3Constants.d.ts +6 -0
  359. package/dist/utils/Web3Constants.d.ts.map +1 -0
  360. package/dist/utils/Web3Constants.js +7 -0
  361. package/dist/utils/Web3Constants.js.map +1 -0
  362. package/dist/utils/ut.d.ts +46 -0
  363. package/dist/utils/ut.d.ts.map +1 -0
  364. package/dist/utils/ut.js +94 -0
  365. package/dist/utils/ut.js.map +1 -0
  366. package/dist/utils/web3Env.d.ts +36 -0
  367. package/dist/utils/web3Env.d.ts.map +1 -0
  368. package/dist/utils/web3Env.js +123 -0
  369. package/dist/utils/web3Env.js.map +1 -0
  370. package/dist/wallet-link/WalletLink.d.ts +58 -0
  371. package/dist/wallet-link/WalletLink.d.ts.map +1 -0
  372. package/dist/wallet-link/WalletLink.js +226 -0
  373. package/dist/wallet-link/WalletLink.js.map +1 -0
  374. package/dist/wallet-link/WalletLinkShim.d.ts +9 -0
  375. package/dist/wallet-link/WalletLinkShim.d.ts.map +1 -0
  376. package/dist/wallet-link/WalletLinkShim.js +9 -0
  377. package/dist/wallet-link/WalletLinkShim.js.map +1 -0
  378. package/package.json +50 -0
@@ -0,0 +1,84 @@
1
+ import { createDefaultStorage } from './TTLCacheStorage';
2
+ export class SimpleCache {
3
+ storage;
4
+ pendingFetches = new Map();
5
+ /**
6
+ * @param options.ttlSeconds Optional time-to-live for cache entries in seconds. If not provided, cache entries do not expire.
7
+ * @param options.maxSize Optional maximum number of entries in the cache.
8
+ * @param options.createStorageFn Optional factory to create storage backend. Defaults to in-memory TTLCache.
9
+ */
10
+ constructor(options) {
11
+ const ttlMs = options.ttlSeconds !== undefined ? options.ttlSeconds * 1000 : undefined;
12
+ const createFn = options.createStorageFn ?? createDefaultStorage;
13
+ this.storage = createFn({
14
+ ttlMs,
15
+ maxSize: options.maxSize,
16
+ });
17
+ }
18
+ async get(key) {
19
+ return this.storage.get(key.toKey());
20
+ }
21
+ async add(key, value) {
22
+ return this.storage.set(key.toKey(), value);
23
+ }
24
+ async remove(key) {
25
+ const cacheKey = key.toKey();
26
+ // Clear pending fetch first to prevent returning stale in-flight data
27
+ this.pendingFetches.delete(cacheKey);
28
+ return this.storage.delete(cacheKey);
29
+ }
30
+ async clear() {
31
+ // Clear all pending fetches first to prevent returning stale in-flight data
32
+ this.pendingFetches.clear();
33
+ if (this.storage.clear) {
34
+ return this.storage.clear();
35
+ }
36
+ }
37
+ /**
38
+ * Executes a function to fetch a value if it's not in the cache,
39
+ * stores the result, and returns it.
40
+ */
41
+ async executeUsingCache(key, fetchFn, opts) {
42
+ const cacheKey = key.toKey();
43
+ const skipCache = opts?.skipCache === true;
44
+ // 1. Check for pending fetch FIRST (synchronous check before any await)
45
+ // This prevents race conditions where concurrent calls interleave
46
+ // Skip deduplication when skipCache is true - caller explicitly wants fresh data
47
+ if (!skipCache) {
48
+ const pendingPromise = this.pendingFetches.get(cacheKey);
49
+ if (pendingPromise) {
50
+ return pendingPromise;
51
+ }
52
+ }
53
+ // 2. Create promise that checks cache then fetches if needed
54
+ // Store it synchronously BEFORE any await to prevent races
55
+ const operationPromise = (async () => {
56
+ // Check main cache
57
+ if (!skipCache) {
58
+ const cachedValue = await this.storage.get(cacheKey);
59
+ if (cachedValue !== undefined) {
60
+ return cachedValue;
61
+ }
62
+ }
63
+ // No cached value: Initiate fetch
64
+ const fetchedValue = await fetchFn(key);
65
+ // Add to main cache only on successful fetch
66
+ await this.storage.set(cacheKey, fetchedValue);
67
+ return fetchedValue;
68
+ })();
69
+ // Only track in pendingFetches if not skipping cache
70
+ // skipCache calls run independently and don't deduplicate
71
+ if (!skipCache) {
72
+ this.pendingFetches.set(cacheKey, operationPromise);
73
+ }
74
+ try {
75
+ return await operationPromise;
76
+ }
77
+ finally {
78
+ if (!skipCache) {
79
+ this.pendingFetches.delete(cacheKey);
80
+ }
81
+ }
82
+ }
83
+ }
84
+ //# sourceMappingURL=SimpleCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleCache.js","sourceRoot":"","sources":["../../src/cache/SimpleCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AASxD,MAAM,OAAO,WAAW;IACH,OAAO,CAAkB;IAClC,cAAc,GAA4B,IAAI,GAAG,EAAE,CAAA;IAE3D;;;;OAIG;IACH,YAAY,OAA8B;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QACtF,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,IAAI,oBAAoB,CAAA;QAChE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACpB,KAAK;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAY;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAY,EAAE,KAAQ;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAY;QACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,CAAA;QAC5B,sEAAsE;QACtE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,KAAK;QACP,4EAA4E;QAC5E,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAC/B,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CACnB,GAAY,EACZ,OAAqC,EACrC,IAA8B;QAE9B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,CAAA;QAC5B,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;QAE1C,wEAAwE;QACxE,kEAAkE;QAClE,iFAAiF;QACjF,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACxD,IAAI,cAAc,EAAE,CAAC;gBACjB,OAAO,cAAc,CAAA;YACzB,CAAC;QACL,CAAC;QAED,6DAA6D;QAC7D,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,CAAC,KAAK,IAAgB,EAAE;YAC7C,mBAAmB;YACnB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC5B,OAAO,WAAW,CAAA;gBACtB,CAAC;YACL,CAAC;YAED,kCAAkC;YAClC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;YACvC,6CAA6C;YAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YAC9C,OAAO,YAAY,CAAA;QACvB,CAAC,CAAC,EAAE,CAAA;QAEJ,qDAAqD;QACrD,0DAA0D;QAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;QACvD,CAAC;QAED,IAAI,CAAC;YACD,OAAO,MAAM,gBAAgB,CAAA;QACjC,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACxC,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,19 @@
1
+ import { ICacheStorage, CacheStorageConfig } from './ICacheStorage';
2
+ /**
3
+ * In-memory cache storage implementation using TTLCache
4
+ * This is the default storage backend for SimpleCache and EntitlementCache
5
+ */
6
+ export declare class TTLCacheStorage<V> implements ICacheStorage<V> {
7
+ private readonly cache;
8
+ private readonly defaultTtlMs;
9
+ constructor(config?: CacheStorageConfig);
10
+ get(key: string): Promise<V | undefined>;
11
+ set(key: string, value: V, ttlMs?: number): Promise<void>;
12
+ delete(key: string): Promise<void>;
13
+ clear(): Promise<void>;
14
+ }
15
+ /**
16
+ * Default factory function that creates in-memory TTLCacheStorage
17
+ */
18
+ export declare function createDefaultStorage<V>(config: CacheStorageConfig): ICacheStorage<V>;
19
+ //# sourceMappingURL=TTLCacheStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TTLCacheStorage.d.ts","sourceRoot":"","sources":["../../src/cache/TTLCacheStorage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEnE;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;gBAEzB,MAAM,CAAC,EAAE,kBAAkB;IAQjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAEpF"}
@@ -0,0 +1,40 @@
1
+ import TTLCache from '@isaacs/ttlcache';
2
+ /**
3
+ * In-memory cache storage implementation using TTLCache
4
+ * This is the default storage backend for SimpleCache and EntitlementCache
5
+ */
6
+ export class TTLCacheStorage {
7
+ cache;
8
+ defaultTtlMs;
9
+ constructor(config) {
10
+ this.defaultTtlMs = config?.ttlMs ?? Infinity;
11
+ this.cache = new TTLCache({
12
+ ttl: this.defaultTtlMs,
13
+ max: config?.maxSize ?? 10_000,
14
+ });
15
+ }
16
+ async get(key) {
17
+ return this.cache.get(key);
18
+ }
19
+ async set(key, value, ttlMs) {
20
+ if (ttlMs !== undefined) {
21
+ this.cache.set(key, value, { ttl: ttlMs });
22
+ }
23
+ else {
24
+ this.cache.set(key, value);
25
+ }
26
+ }
27
+ async delete(key) {
28
+ this.cache.delete(key);
29
+ }
30
+ async clear() {
31
+ this.cache.clear();
32
+ }
33
+ }
34
+ /**
35
+ * Default factory function that creates in-memory TTLCacheStorage
36
+ */
37
+ export function createDefaultStorage(config) {
38
+ return new TTLCacheStorage(config);
39
+ }
40
+ //# sourceMappingURL=TTLCacheStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TTLCacheStorage.js","sourceRoot":"","sources":["../../src/cache/TTLCacheStorage.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,kBAAkB,CAAA;AAGvC;;;GAGG;AACH,MAAM,OAAO,eAAe;IACP,KAAK,CAAqB;IAC1B,YAAY,CAAQ;IAErC,YAAY,MAA2B;QACnC,IAAI,CAAC,YAAY,GAAG,MAAM,EAAE,KAAK,IAAI,QAAQ,CAAA;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC;YACtB,GAAG,EAAE,IAAI,CAAC,YAAY;YACtB,GAAG,EAAE,MAAM,EAAE,OAAO,IAAI,MAAM;SACjC,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAQ,EAAE,KAAc;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC9B,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAI,MAA0B;IAC9D,OAAO,IAAI,eAAe,CAAI,MAAM,CAAC,CAAA;AACzC,CAAC"}
@@ -0,0 +1,89 @@
1
+ export declare const towns: {
2
+ blockExplorers: {
3
+ readonly default: {
4
+ readonly name: "Towns Chain Explorer";
5
+ readonly url: "https://explorer.towns.com/";
6
+ };
7
+ };
8
+ blockTime?: number | undefined | undefined;
9
+ contracts: {
10
+ readonly multicall3: {
11
+ readonly address: "0x4920EF7722b73Fdc9f6391829cfB3844f39393B3";
12
+ readonly blockCreated: 12653370;
13
+ };
14
+ };
15
+ ensTlds?: readonly string[] | undefined;
16
+ id: 550;
17
+ name: "Towns Mainnet";
18
+ nativeCurrency: {
19
+ readonly decimals: 18;
20
+ readonly name: "Ether";
21
+ readonly symbol: "ETH";
22
+ };
23
+ experimental_preconfirmationTime?: number | undefined | undefined;
24
+ rpcUrls: {
25
+ readonly default: {
26
+ readonly http: readonly ["https://mainnet.rpc.towns.com/"];
27
+ };
28
+ };
29
+ sourceId?: number | undefined | undefined;
30
+ testnet?: boolean | undefined | undefined;
31
+ custom?: Record<string, unknown> | undefined;
32
+ extendSchema?: Record<string, unknown> | undefined;
33
+ fees?: import("viem").ChainFees<undefined> | undefined;
34
+ formatters?: undefined;
35
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
36
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
37
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
38
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
39
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
40
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
41
+ }] | undefined;
42
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
43
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
44
+ };
45
+ export declare const townsTestnet: {
46
+ blockExplorers: {
47
+ readonly default: {
48
+ readonly name: "Towns Chain Explorer";
49
+ readonly url: "https://testnet.explorer.towns.com/";
50
+ };
51
+ };
52
+ blockTime?: number | undefined | undefined;
53
+ contracts: {
54
+ readonly multicall3: {
55
+ readonly address: "0xcaBdE26Efcf78d31040Dc57F85484e786E0a1E13";
56
+ readonly blockCreated: 20137781;
57
+ };
58
+ };
59
+ ensTlds?: readonly string[] | undefined;
60
+ id: 6524490;
61
+ name: "Towns Testnet";
62
+ nativeCurrency: {
63
+ readonly decimals: 18;
64
+ readonly name: "Ether";
65
+ readonly symbol: "ETH";
66
+ };
67
+ experimental_preconfirmationTime?: number | undefined | undefined;
68
+ rpcUrls: {
69
+ readonly default: {
70
+ readonly http: readonly ["https://testnet.rpc.towns.com/http"];
71
+ };
72
+ };
73
+ sourceId?: number | undefined | undefined;
74
+ testnet?: boolean | undefined | undefined;
75
+ custom?: Record<string, unknown> | undefined;
76
+ extendSchema?: Record<string, unknown> | undefined;
77
+ fees?: import("viem").ChainFees<undefined> | undefined;
78
+ formatters?: undefined;
79
+ prepareTransactionRequest?: ((args: import("viem").PrepareTransactionRequestParameters, options: {
80
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
81
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | [fn: ((args: import("viem").PrepareTransactionRequestParameters, options: {
82
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
83
+ }) => Promise<import("viem").PrepareTransactionRequestParameters>) | undefined, options: {
84
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
85
+ }] | undefined;
86
+ serializers?: import("viem").ChainSerializers<undefined, import("viem").TransactionSerializable> | undefined;
87
+ verifyHash?: ((client: import("viem").Client, parameters: import("viem").VerifyHashActionParameters) => Promise<import("viem").VerifyHashActionReturnType>) | undefined;
88
+ };
89
+ //# sourceMappingURL=chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsBhB,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsBvB,CAAA"}
package/dist/chain.js ADDED
@@ -0,0 +1,48 @@
1
+ import { defineChain } from 'viem';
2
+ export const towns = defineChain({
3
+ id: 550,
4
+ name: 'Towns Mainnet',
5
+ nativeCurrency: {
6
+ decimals: 18,
7
+ name: 'Ether',
8
+ symbol: 'ETH',
9
+ },
10
+ rpcUrls: {
11
+ default: {
12
+ http: [`https://mainnet.rpc.towns.com/`],
13
+ },
14
+ },
15
+ blockExplorers: {
16
+ default: { name: 'Towns Chain Explorer', url: 'https://explorer.towns.com/' },
17
+ },
18
+ contracts: {
19
+ multicall3: {
20
+ address: '0x4920EF7722b73Fdc9f6391829cfB3844f39393B3',
21
+ blockCreated: 12653370,
22
+ },
23
+ },
24
+ });
25
+ export const townsTestnet = defineChain({
26
+ id: 6524490,
27
+ name: 'Towns Testnet',
28
+ nativeCurrency: {
29
+ decimals: 18,
30
+ name: 'Ether',
31
+ symbol: 'ETH',
32
+ },
33
+ rpcUrls: {
34
+ default: {
35
+ http: [`https://testnet.rpc.towns.com/http`],
36
+ },
37
+ },
38
+ blockExplorers: {
39
+ default: { name: 'Towns Chain Explorer', url: 'https://testnet.explorer.towns.com/' },
40
+ },
41
+ contracts: {
42
+ multicall3: {
43
+ address: '0xcaBdE26Efcf78d31040Dc57F85484e786E0a1E13',
44
+ blockCreated: 20137781,
45
+ },
46
+ },
47
+ });
48
+ //# sourceMappingURL=chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAElC,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC;IAC7B,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;KAChB;IACD,OAAO,EAAE;QACL,OAAO,EAAE;YACL,IAAI,EAAE,CAAC,gCAAgC,CAAC;SAC3C;KACJ;IACD,cAAc,EAAE;QACZ,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,6BAA6B,EAAE;KAChF;IACD,SAAS,EAAE;QACP,UAAU,EAAE;YACR,OAAO,EAAE,4CAA4C;YACrD,YAAY,EAAE,QAAQ;SACzB;KACJ;CACJ,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;IACpC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,eAAe;IACrB,cAAc,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;KAChB;IACD,OAAO,EAAE;QACL,OAAO,EAAE;YACL,IAAI,EAAE,CAAC,oCAAoC,CAAC;SAC/C;KACJ;IACD,cAAc,EAAE;QACZ,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,EAAE,qCAAqC,EAAE;KACxF;IACD,SAAS,EAAE;QACP,UAAU,EAAE;YACR,OAAO,EAAE,4CAA4C;YACrD,YAAY,EAAE,QAAQ;SACzB;KACJ;CACJ,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ethers } from 'ethers';
2
+ export declare function computeDelegatorsForProvider(provider: ethers.providers.BaseProvider, wallets: string[]): Promise<string[]>;
3
+ //# sourceMappingURL=DelegateRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DelegateRegistry.d.ts","sourceRoot":"","sources":["../../src/delegate-registry/DelegateRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,MAAM,QAAQ,CAAA;AAqEtC,wBAAsB,4BAA4B,CAC9C,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,EACvC,OAAO,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,MAAM,EAAE,CAAC,CAwBnB"}
@@ -0,0 +1,72 @@
1
+ import { ethers, utils } from 'ethers';
2
+ const v1RegistryContractAddress = '0x00000000000076a84fef008cdabe6409d2fe638b';
3
+ const delegationTypeAll = 1;
4
+ const delegateRegistryJsonAbi = `
5
+ [
6
+ {
7
+ "type": "function",
8
+ "name": "getDelegationsByDelegate",
9
+ "inputs": [
10
+ {
11
+ "name": "delegate",
12
+ "type": "address",
13
+ "internalType": "address"
14
+ }
15
+ ],
16
+ "outputs": [
17
+ {
18
+ "name": "",
19
+ "type": "tuple[]",
20
+ "internalType": "struct IDelegateRegistryV1.DelegationInfo[]",
21
+ "components": [
22
+ {
23
+ "name": "type_",
24
+ "type": "uint8",
25
+ "internalType": "enum IDelegateRegistryV1.DelegationType"
26
+ },
27
+ {
28
+ "name": "vault",
29
+ "type": "address",
30
+ "internalType": "address"
31
+ },
32
+ {
33
+ "name": "delegate",
34
+ "type": "address",
35
+ "internalType": "address"
36
+ },
37
+ {
38
+ "name": "contract_",
39
+ "type": "address",
40
+ "internalType": "address"
41
+ },
42
+ {
43
+ "name": "tokenId",
44
+ "type": "uint256",
45
+ "internalType": "uint256"
46
+ }
47
+ ]
48
+ }
49
+ ],
50
+ "stateMutability": "view"
51
+ }
52
+ ]`;
53
+ function newDelegateContract(provider) {
54
+ const iface = new utils.Interface(delegateRegistryJsonAbi);
55
+ const humanReadableAbi = iface.format(utils.FormatTypes.full);
56
+ return new ethers.Contract(v1RegistryContractAddress, humanReadableAbi, provider);
57
+ }
58
+ export async function computeDelegatorsForProvider(provider, wallets) {
59
+ const contract = newDelegateContract(provider);
60
+ const delegatorWallets = (await Promise.all(wallets.map(async (wallet) => {
61
+ return ((await contract.callStatic.getDelegationsByDelegate(wallet))
62
+ // Keep only delegations that cede the entire wallet
63
+ .filter((info) => info.type_ == delegationTypeAll)
64
+ // The 'vault' is the delegator wallet that cedes to one of wallets
65
+ // passed in via the parameters
66
+ .map((info) => info.vault));
67
+ }))).reduce((left, right) => [...left, ...right]);
68
+ // Return de-duped list of wallets, in case delegate wallets occur >1x across
69
+ // ethereum mainnet and testnets.
70
+ return [...new Set(delegatorWallets)];
71
+ }
72
+ //# sourceMappingURL=DelegateRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DelegateRegistry.js","sourceRoot":"","sources":["../../src/delegate-registry/DelegateRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAEtC,MAAM,yBAAyB,GAAG,4CAA4C,CAAA;AAC9E,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAE3B,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgD9B,CAAA;AAEF,SAAS,mBAAmB,CAAC,QAAuC;IAChE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAA;IAC1D,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC7D,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,yBAAyB,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAA;AACrF,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAC9C,QAAuC,EACvC,OAAiB;IAEjB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC9C,MAAM,gBAAgB,GAAG,CACrB,MAAM,OAAO,CAAC,GAAG,CACb,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACzB,OAAO,CAEC,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAC/C,MAAM,CACT,CACJ;YACG,oDAAoD;aACnD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC;YAClD,mEAAmE;YACnE,+BAA+B;aAC9B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CACjC,CAAA;IACL,CAAC,CAAC,CACL,CACJ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAA;IAE9C,6EAA6E;IAC7E,iCAAiC;IACjC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAA;AACzC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { BigNumber, TypedDataDomain, TypedDataField } from 'ethers';
2
+ import { Address } from '../types/ContractTypes';
3
+ /**
4
+ * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md
5
+ * */
6
+ interface LinkedWalletValue {
7
+ message: string;
8
+ userID: Address;
9
+ nonce: BigNumber;
10
+ }
11
+ interface Eip712LinkedWalletArgs {
12
+ domain: TypedDataDomain;
13
+ nonce: BigNumber;
14
+ userID: Address;
15
+ message: string;
16
+ }
17
+ export declare function createEip712LinkedWalletdData({ domain, userID, nonce, message, }: Eip712LinkedWalletArgs): {
18
+ types: Record<string, TypedDataField[]>;
19
+ domain: TypedDataDomain;
20
+ value: LinkedWalletValue;
21
+ };
22
+ export declare function getDomainSeparator(domain: TypedDataDomain): string;
23
+ export declare function toLinkedWalletHash(message: string, address: string, nonce: BigNumber): string;
24
+ /**
25
+ * @dev Returns the keccak256 digest of an EIP-712 typed data (EIP-191 version `0x01`).
26
+ *
27
+ * The digest is calculated from a `domainSeparator` and a `structHash`, by prefixing them with
28
+ * `0x1901` and hashing the result. It corresponds to the hash signed by the
29
+ * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`] JSON-RPC method as part of EIP-712.
30
+ *
31
+ * See {ECDSA-recover}.
32
+ */
33
+ export declare function toTypedDataHash(domain: TypedDataDomain, structHash: string): string;
34
+ export {};
35
+ //# sourceMappingURL=EIP-712.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EIP-712.d.ts","sourceRoot":"","sources":["../../src/eip-712/EIP-712.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD;;KAEK;AACL,UAAU,iBAAiB;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,SAAS,CAAA;CACnB;AAED,UAAU,sBAAsB;IAC5B,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,6BAA6B,CAAC,EAC1C,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,GACV,EAAE,sBAAsB;;;;EAqBxB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAmBlE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAa7F;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAOnF"}
@@ -0,0 +1,57 @@
1
+ import { defaultAbiCoder, keccak256, solidityPack, toUtf8Bytes } from 'ethers/lib/utils';
2
+ export function createEip712LinkedWalletdData({ domain, userID, nonce, message, }) {
3
+ // should match the types and order of _LINKED_WALLET_TYPEHASH in
4
+ // river/contracts/src/factory/facets/wallet-link/WalletLinkBase.sol
5
+ const linkedWalletTypes = {
6
+ LinkedWallet: [
7
+ { name: 'message', type: 'string' },
8
+ { name: 'userID', type: 'address' },
9
+ { name: 'nonce', type: 'uint256' },
10
+ ],
11
+ };
12
+ const types = linkedWalletTypes;
13
+ const value = {
14
+ message,
15
+ userID,
16
+ nonce,
17
+ };
18
+ return {
19
+ types,
20
+ domain,
21
+ value,
22
+ };
23
+ }
24
+ export function getDomainSeparator(domain) {
25
+ // this hash should match _TYPE_HASH
26
+ // in river/contracts/src/diamond/utils/cryptography/signature/EIP712Base.sol
27
+ const DOMAIN_TYPE_HASH = keccak256(toUtf8Bytes('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'));
28
+ // Compute the keccak256 hash of the name and version
29
+ const nameHash = keccak256(toUtf8Bytes(domain.name ?? ''));
30
+ const versionHash = keccak256(toUtf8Bytes(domain.version ?? ''));
31
+ // Encode the data
32
+ const encodedData = defaultAbiCoder.encode(['bytes32', 'bytes32', 'bytes32', 'uint256', 'address'], [DOMAIN_TYPE_HASH, nameHash, versionHash, domain.chainId, domain.verifyingContract]);
33
+ // Compute the keccak256 hash of the encoded data
34
+ return keccak256(encodedData);
35
+ }
36
+ export function toLinkedWalletHash(message, address, nonce) {
37
+ // this hash should match _LINKED_WALLET_TYPEHASH in
38
+ // river/contracts/src/factory/facets/wallet-link/WalletLinkBase.sol
39
+ const LINKED_WALLET_TYPE_HASH = keccak256(toUtf8Bytes('LinkedWallet(string message,address userID,uint256 nonce)'));
40
+ const structHash = keccak256(defaultAbiCoder.encode(['bytes32', 'string', 'address', 'uint256'], [LINKED_WALLET_TYPE_HASH, message, address, nonce]));
41
+ return structHash;
42
+ }
43
+ /**
44
+ * @dev Returns the keccak256 digest of an EIP-712 typed data (EIP-191 version `0x01`).
45
+ *
46
+ * The digest is calculated from a `domainSeparator` and a `structHash`, by prefixing them with
47
+ * `0x1901` and hashing the result. It corresponds to the hash signed by the
48
+ * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`] JSON-RPC method as part of EIP-712.
49
+ *
50
+ * See {ECDSA-recover}.
51
+ */
52
+ export function toTypedDataHash(domain, structHash) {
53
+ const domainSeparator = getDomainSeparator(domain);
54
+ const encodedData = solidityPack(['bytes2', 'bytes32', 'bytes32'], ['0x1901', domainSeparator, structHash]);
55
+ return keccak256(encodedData);
56
+ }
57
+ //# sourceMappingURL=EIP-712.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EIP-712.js","sourceRoot":"","sources":["../../src/eip-712/EIP-712.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAmBxF,MAAM,UAAU,6BAA6B,CAAC,EAC1C,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,GACc;IACrB,iEAAiE;IACjE,oEAAoE;IACpE,MAAM,iBAAiB,GAAqC;QACxD,YAAY,EAAE;YACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;SACrC;KACJ,CAAA;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAA;IAC/B,MAAM,KAAK,GAAsB;QAC7B,OAAO;QACP,MAAM;QACN,KAAK;KACR,CAAA;IACD,OAAO;QACH,KAAK;QACL,MAAM;QACN,KAAK;KACR,CAAA;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAuB;IACtD,oCAAoC;IACpC,6EAA6E;IAC7E,MAAM,gBAAgB,GAAG,SAAS,CAC9B,WAAW,CACP,oFAAoF,CACvF,CACJ,CAAA;IACD,qDAAqD;IACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1D,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;IAChE,kBAAkB;IAClB,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CACtC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACvD,CAAC,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CACtF,CAAA;IAED,iDAAiD;IACjD,OAAO,SAAS,CAAC,WAAW,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,OAAe,EAAE,KAAgB;IACjF,oDAAoD;IACpD,oEAAoE;IACpE,MAAM,uBAAuB,GAAG,SAAS,CACrC,WAAW,CAAC,2DAA2D,CAAC,CAC3E,CAAA;IACD,MAAM,UAAU,GAAG,SAAS,CACxB,eAAe,CAAC,MAAM,CAClB,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAC3C,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CACrD,CACJ,CAAA;IACD,OAAO,UAAU,CAAA;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,MAAuB,EAAE,UAAkB;IACvE,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,WAAW,GAAG,YAAY,CAC5B,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAChC,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,CAC1C,CAAA;IACD,OAAO,SAAS,CAAC,WAAW,CAAC,CAAA;AACjC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ethers } from 'ethers';
2
+ import { BaseContractShim } from '../BaseContractShim';
3
+ import { IERC721AQueryable__factory } from '@towns-labs/generated/dev/typings/factories/IERC721AQueryable__factory';
4
+ declare const connect: typeof IERC721AQueryable__factory.connect;
5
+ export declare class IERC721AQueryableShim extends BaseContractShim<typeof connect> {
6
+ constructor(address: string, provider: ethers.providers.Provider);
7
+ }
8
+ export {};
9
+ //# sourceMappingURL=IERC721AQueryableShim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IERC721AQueryableShim.d.ts","sourceRoot":"","sources":["../../src/erc-721/IERC721AQueryableShim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wEAAwE,CAAA;AAEnH,QAAA,MAAa,OAAO,2CAA+B,CAAA;AAEnD,qBAAa,qBAAsB,SAAQ,gBAAgB,CAAC,OAAO,OAAO,CAAC;gBAC3D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;CAGnE"}
@@ -0,0 +1,9 @@
1
+ import { BaseContractShim } from '../BaseContractShim';
2
+ import { IERC721AQueryable__factory } from '@towns-labs/generated/dev/typings/factories/IERC721AQueryable__factory';
3
+ const { abi, connect } = IERC721AQueryable__factory;
4
+ export class IERC721AQueryableShim extends BaseContractShim {
5
+ constructor(address, provider) {
6
+ super(address, provider, connect, abi);
7
+ }
8
+ }
9
+ //# sourceMappingURL=IERC721AQueryableShim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IERC721AQueryableShim.js","sourceRoot":"","sources":["../../src/erc-721/IERC721AQueryableShim.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wEAAwE,CAAA;AAEnH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,0BAA0B,CAAA;AAEnD,MAAM,OAAO,qBAAsB,SAAQ,gBAAgC;IACvE,YAAY,OAAe,EAAE,QAAmC;QAC5D,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC1C,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import { ethers } from 'ethers';
2
+ import { IERC721A__factory } from '@towns-labs/generated/dev/typings/factories/IERC721A__factory';
3
+ import { BaseContractShim } from '../BaseContractShim';
4
+ declare const connect: typeof IERC721A__factory.connect;
5
+ export declare class IERC721AShim extends BaseContractShim<typeof connect> {
6
+ constructor(address: string, provider: ethers.providers.Provider);
7
+ }
8
+ export {};
9
+ //# sourceMappingURL=IERC721AShim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IERC721AShim.d.ts","sourceRoot":"","sources":["../../src/erc-721/IERC721AShim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAA;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,QAAA,MAAa,OAAO,kCAAsB,CAAA;AAE1C,qBAAa,YAAa,SAAQ,gBAAgB,CAAC,OAAO,OAAO,CAAC;gBAClD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;CAGnE"}
@@ -0,0 +1,9 @@
1
+ import { IERC721A__factory } from '@towns-labs/generated/dev/typings/factories/IERC721A__factory';
2
+ import { BaseContractShim } from '../BaseContractShim';
3
+ const { abi, connect } = IERC721A__factory;
4
+ export class IERC721AShim extends BaseContractShim {
5
+ constructor(address, provider) {
6
+ super(address, provider, connect, abi);
7
+ }
8
+ }
9
+ //# sourceMappingURL=IERC721AShim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IERC721AShim.js","sourceRoot":"","sources":["../../src/erc-721/IERC721AShim.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAA;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAA;AAE1C,MAAM,OAAO,YAAa,SAAQ,gBAAgC;IAC9D,YAAY,OAAe,EAAE,QAAmC;QAC5D,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC1C,CAAC;CACJ"}