@towns-protocol/web3 0.0.191

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 (327) hide show
  1. package/LICENSE.txt +21 -0
  2. package/README.md +3 -0
  3. package/dist/ContractHelpers.d.ts +18 -0
  4. package/dist/ContractHelpers.d.ts.map +1 -0
  5. package/dist/ContractHelpers.js +75 -0
  6. package/dist/ContractHelpers.js.map +1 -0
  7. package/dist/ContractTypes.d.ts +143 -0
  8. package/dist/ContractTypes.d.ts.map +1 -0
  9. package/dist/ContractTypes.js +65 -0
  10. package/dist/ContractTypes.js.map +1 -0
  11. package/dist/ConvertersEntitlements.d.ts +10 -0
  12. package/dist/ConvertersEntitlements.d.ts.map +1 -0
  13. package/dist/ConvertersEntitlements.js +120 -0
  14. package/dist/ConvertersEntitlements.js.map +1 -0
  15. package/dist/ConvertersRoles.d.ts +8 -0
  16. package/dist/ConvertersRoles.d.ts.map +1 -0
  17. package/dist/ConvertersRoles.js +94 -0
  18. package/dist/ConvertersRoles.js.map +1 -0
  19. package/dist/DelegateRegistry.d.ts +3 -0
  20. package/dist/DelegateRegistry.d.ts.map +1 -0
  21. package/dist/DelegateRegistry.js +72 -0
  22. package/dist/DelegateRegistry.js.map +1 -0
  23. package/dist/EntitlementCache.d.ts +20 -0
  24. package/dist/EntitlementCache.d.ts.map +1 -0
  25. package/dist/EntitlementCache.js +41 -0
  26. package/dist/EntitlementCache.js.map +1 -0
  27. package/dist/EntitlementCache.test.d.ts +5 -0
  28. package/dist/EntitlementCache.test.d.ts.map +1 -0
  29. package/dist/EntitlementCache.test.js +130 -0
  30. package/dist/EntitlementCache.test.js.map +1 -0
  31. package/dist/ISpaceDapp.d.ts +193 -0
  32. package/dist/ISpaceDapp.d.ts.map +1 -0
  33. package/dist/ISpaceDapp.js +2 -0
  34. package/dist/ISpaceDapp.js.map +1 -0
  35. package/dist/IStaticContractsInfo.d.ts +28 -0
  36. package/dist/IStaticContractsInfo.d.ts.map +1 -0
  37. package/dist/IStaticContractsInfo.js +13 -0
  38. package/dist/IStaticContractsInfo.js.map +1 -0
  39. package/dist/LocalhostWeb3Provider.d.ts +15 -0
  40. package/dist/LocalhostWeb3Provider.d.ts.map +1 -0
  41. package/dist/LocalhostWeb3Provider.js +60 -0
  42. package/dist/LocalhostWeb3Provider.js.map +1 -0
  43. package/dist/MockCrossChainEntitlement.d.ts +6 -0
  44. package/dist/MockCrossChainEntitlement.d.ts.map +1 -0
  45. package/dist/MockCrossChainEntitlement.js +104 -0
  46. package/dist/MockCrossChainEntitlement.js.map +1 -0
  47. package/dist/MockERC1155.d.ts +6 -0
  48. package/dist/MockERC1155.d.ts.map +1 -0
  49. package/dist/MockERC1155.js +518 -0
  50. package/dist/MockERC1155.js.map +1 -0
  51. package/dist/MockERC20.d.ts +6 -0
  52. package/dist/MockERC20.d.ts.map +1 -0
  53. package/dist/MockERC20.js +574 -0
  54. package/dist/MockERC20.js.map +1 -0
  55. package/dist/MockERC721A.d.ts +1563 -0
  56. package/dist/MockERC721A.d.ts.map +1 -0
  57. package/dist/MockERC721A.js +1913 -0
  58. package/dist/MockERC721A.js.map +1 -0
  59. package/dist/RiverRegistryFactory.d.ts +5 -0
  60. package/dist/RiverRegistryFactory.d.ts.map +1 -0
  61. package/dist/RiverRegistryFactory.js +5 -0
  62. package/dist/RiverRegistryFactory.js.map +1 -0
  63. package/dist/SpaceDappFactory.d.ts +5 -0
  64. package/dist/SpaceDappFactory.d.ts.map +1 -0
  65. package/dist/SpaceDappFactory.js +8 -0
  66. package/dist/SpaceDappFactory.js.map +1 -0
  67. package/dist/TestCrossChainEntitlement.d.ts +14 -0
  68. package/dist/TestCrossChainEntitlement.d.ts.map +1 -0
  69. package/dist/TestCrossChainEntitlement.js +100 -0
  70. package/dist/TestCrossChainEntitlement.js.map +1 -0
  71. package/dist/TestEthBalance.d.ts +60 -0
  72. package/dist/TestEthBalance.d.ts.map +1 -0
  73. package/dist/TestEthBalance.js +94 -0
  74. package/dist/TestEthBalance.js.map +1 -0
  75. package/dist/TestGatingERC1155.d.ts +17 -0
  76. package/dist/TestGatingERC1155.d.ts.map +1 -0
  77. package/dist/TestGatingERC1155.js +101 -0
  78. package/dist/TestGatingERC1155.js.map +1 -0
  79. package/dist/TestGatingERC20.d.ts +17 -0
  80. package/dist/TestGatingERC20.d.ts.map +1 -0
  81. package/dist/TestGatingERC20.js +149 -0
  82. package/dist/TestGatingERC20.js.map +1 -0
  83. package/dist/TestGatingNFT.d.ts +17 -0
  84. package/dist/TestGatingNFT.d.ts.map +1 -0
  85. package/dist/TestGatingNFT.js +140 -0
  86. package/dist/TestGatingNFT.js.map +1 -0
  87. package/dist/TestGatingUtils.d.ts +15 -0
  88. package/dist/TestGatingUtils.d.ts.map +1 -0
  89. package/dist/TestGatingUtils.js +112 -0
  90. package/dist/TestGatingUtils.js.map +1 -0
  91. package/dist/Utils.d.ts +59 -0
  92. package/dist/Utils.d.ts.map +1 -0
  93. package/dist/Utils.js +122 -0
  94. package/dist/Utils.js.map +1 -0
  95. package/dist/Web3Constants.d.ts +6 -0
  96. package/dist/Web3Constants.d.ts.map +1 -0
  97. package/dist/Web3Constants.js +7 -0
  98. package/dist/Web3Constants.js.map +1 -0
  99. package/dist/Web3Constants.test.d.ts +2 -0
  100. package/dist/Web3Constants.test.d.ts.map +1 -0
  101. package/dist/Web3Constants.test.js +15 -0
  102. package/dist/Web3Constants.test.js.map +1 -0
  103. package/dist/chain.d.ts +65 -0
  104. package/dist/chain.d.ts.map +1 -0
  105. package/dist/chain.js +48 -0
  106. package/dist/chain.js.map +1 -0
  107. package/dist/entitlement.d.ts +146 -0
  108. package/dist/entitlement.d.ts.map +1 -0
  109. package/dist/entitlement.js +931 -0
  110. package/dist/entitlement.js.map +1 -0
  111. package/dist/entitlement.test.d.ts +2 -0
  112. package/dist/entitlement.test.d.ts.map +1 -0
  113. package/dist/entitlement.test.js +1743 -0
  114. package/dist/entitlement.test.js.map +1 -0
  115. package/dist/error-types.d.ts +7 -0
  116. package/dist/error-types.d.ts.map +1 -0
  117. package/dist/error-types.js +13 -0
  118. package/dist/error-types.js.map +1 -0
  119. package/dist/index.d.ts +76 -0
  120. package/dist/index.d.ts.map +1 -0
  121. package/dist/index.js +76 -0
  122. package/dist/index.js.map +1 -0
  123. package/dist/types.d.ts +29 -0
  124. package/dist/types.d.ts.map +1 -0
  125. package/dist/types.js +2 -0
  126. package/dist/types.js.map +1 -0
  127. package/dist/utils.test.d.ts +2 -0
  128. package/dist/utils.test.d.ts.map +1 -0
  129. package/dist/utils.test.js +44 -0
  130. package/dist/utils.test.js.map +1 -0
  131. package/dist/v3/BaseContractShim.d.ts +28 -0
  132. package/dist/v3/BaseContractShim.d.ts.map +1 -0
  133. package/dist/v3/BaseContractShim.js +185 -0
  134. package/dist/v3/BaseContractShim.js.map +1 -0
  135. package/dist/v3/BaseRegistry.d.ts +30 -0
  136. package/dist/v3/BaseRegistry.d.ts.map +1 -0
  137. package/dist/v3/BaseRegistry.js +64 -0
  138. package/dist/v3/BaseRegistry.js.map +1 -0
  139. package/dist/v3/EIP-712.d.ts +35 -0
  140. package/dist/v3/EIP-712.d.ts.map +1 -0
  141. package/dist/v3/EIP-712.js +57 -0
  142. package/dist/v3/EIP-712.js.map +1 -0
  143. package/dist/v3/IBanningShim.d.ts +7 -0
  144. package/dist/v3/IBanningShim.d.ts.map +1 -0
  145. package/dist/v3/IBanningShim.js +8 -0
  146. package/dist/v3/IBanningShim.js.map +1 -0
  147. package/dist/v3/IChannelShim.d.ts +8 -0
  148. package/dist/v3/IChannelShim.d.ts.map +1 -0
  149. package/dist/v3/IChannelShim.js +8 -0
  150. package/dist/v3/IChannelShim.js.map +1 -0
  151. package/dist/v3/ICreateSpaceShim.d.ts +9 -0
  152. package/dist/v3/ICreateSpaceShim.d.ts.map +1 -0
  153. package/dist/v3/ICreateSpaceShim.js +8 -0
  154. package/dist/v3/ICreateSpaceShim.js.map +1 -0
  155. package/dist/v3/IDropFacetShim.d.ts +7 -0
  156. package/dist/v3/IDropFacetShim.d.ts.map +1 -0
  157. package/dist/v3/IDropFacetShim.js +8 -0
  158. package/dist/v3/IDropFacetShim.js.map +1 -0
  159. package/dist/v3/IERC721AQueryableShim.d.ts +7 -0
  160. package/dist/v3/IERC721AQueryableShim.d.ts.map +1 -0
  161. package/dist/v3/IERC721AQueryableShim.js +8 -0
  162. package/dist/v3/IERC721AQueryableShim.js.map +1 -0
  163. package/dist/v3/IERC721AShim.d.ts +7 -0
  164. package/dist/v3/IERC721AShim.d.ts.map +1 -0
  165. package/dist/v3/IERC721AShim.js +8 -0
  166. package/dist/v3/IERC721AShim.js.map +1 -0
  167. package/dist/v3/IEntitlementCheckerShim.d.ts +7 -0
  168. package/dist/v3/IEntitlementCheckerShim.d.ts.map +1 -0
  169. package/dist/v3/IEntitlementCheckerShim.js +8 -0
  170. package/dist/v3/IEntitlementCheckerShim.js.map +1 -0
  171. package/dist/v3/IEntitlementDataQueryableShim.d.ts +8 -0
  172. package/dist/v3/IEntitlementDataQueryableShim.d.ts.map +1 -0
  173. package/dist/v3/IEntitlementDataQueryableShim.js +8 -0
  174. package/dist/v3/IEntitlementDataQueryableShim.js.map +1 -0
  175. package/dist/v3/IEntitlementsShim.d.ts +8 -0
  176. package/dist/v3/IEntitlementsShim.d.ts.map +1 -0
  177. package/dist/v3/IEntitlementsShim.js +8 -0
  178. package/dist/v3/IEntitlementsShim.js.map +1 -0
  179. package/dist/v3/ILegacySpaceArchitectShim.d.ts +8 -0
  180. package/dist/v3/ILegacySpaceArchitectShim.d.ts.map +1 -0
  181. package/dist/v3/ILegacySpaceArchitectShim.js +8 -0
  182. package/dist/v3/ILegacySpaceArchitectShim.js.map +1 -0
  183. package/dist/v3/IMembershipMetadataShim.d.ts +7 -0
  184. package/dist/v3/IMembershipMetadataShim.d.ts.map +1 -0
  185. package/dist/v3/IMembershipMetadataShim.js +8 -0
  186. package/dist/v3/IMembershipMetadataShim.js.map +1 -0
  187. package/dist/v3/IMembershipShim.d.ts +18 -0
  188. package/dist/v3/IMembershipShim.d.ts.map +1 -0
  189. package/dist/v3/IMembershipShim.js +73 -0
  190. package/dist/v3/IMembershipShim.js.map +1 -0
  191. package/dist/v3/IMulticallShim.d.ts +7 -0
  192. package/dist/v3/IMulticallShim.d.ts.map +1 -0
  193. package/dist/v3/IMulticallShim.js +8 -0
  194. package/dist/v3/IMulticallShim.js.map +1 -0
  195. package/dist/v3/INodeOperatorShim.d.ts +7 -0
  196. package/dist/v3/INodeOperatorShim.d.ts.map +1 -0
  197. package/dist/v3/INodeOperatorShim.js +8 -0
  198. package/dist/v3/INodeOperatorShim.js.map +1 -0
  199. package/dist/v3/INodeRegistryShim.d.ts +7 -0
  200. package/dist/v3/INodeRegistryShim.d.ts.map +1 -0
  201. package/dist/v3/INodeRegistryShim.js +8 -0
  202. package/dist/v3/INodeRegistryShim.js.map +1 -0
  203. package/dist/v3/IOperatorRegistryShim.d.ts +7 -0
  204. package/dist/v3/IOperatorRegistryShim.d.ts.map +1 -0
  205. package/dist/v3/IOperatorRegistryShim.js +8 -0
  206. package/dist/v3/IOperatorRegistryShim.js.map +1 -0
  207. package/dist/v3/IPrepayShim.d.ts +7 -0
  208. package/dist/v3/IPrepayShim.d.ts.map +1 -0
  209. package/dist/v3/IPrepayShim.js +8 -0
  210. package/dist/v3/IPrepayShim.js.map +1 -0
  211. package/dist/v3/IPricingShim.d.ts +8 -0
  212. package/dist/v3/IPricingShim.d.ts.map +1 -0
  213. package/dist/v3/IPricingShim.js +8 -0
  214. package/dist/v3/IPricingShim.js.map +1 -0
  215. package/dist/v3/IReviewShim.d.ts +61 -0
  216. package/dist/v3/IReviewShim.d.ts.map +1 -0
  217. package/dist/v3/IReviewShim.js +101 -0
  218. package/dist/v3/IReviewShim.js.map +1 -0
  219. package/dist/v3/IRiverPointsShim.d.ts +7 -0
  220. package/dist/v3/IRiverPointsShim.d.ts.map +1 -0
  221. package/dist/v3/IRiverPointsShim.js +8 -0
  222. package/dist/v3/IRiverPointsShim.js.map +1 -0
  223. package/dist/v3/IRolesShim.d.ts +8 -0
  224. package/dist/v3/IRolesShim.d.ts.map +1 -0
  225. package/dist/v3/IRolesShim.js +8 -0
  226. package/dist/v3/IRolesShim.js.map +1 -0
  227. package/dist/v3/IRuleEntitlementShim.d.ts +6 -0
  228. package/dist/v3/IRuleEntitlementShim.d.ts.map +1 -0
  229. package/dist/v3/IRuleEntitlementShim.js +3 -0
  230. package/dist/v3/IRuleEntitlementShim.js.map +1 -0
  231. package/dist/v3/IRuleEntitlementV2Shim.d.ts +6 -0
  232. package/dist/v3/IRuleEntitlementV2Shim.d.ts.map +1 -0
  233. package/dist/v3/IRuleEntitlementV2Shim.js +3 -0
  234. package/dist/v3/IRuleEntitlementV2Shim.js.map +1 -0
  235. package/dist/v3/ISpaceArchitectShim.d.ts +8 -0
  236. package/dist/v3/ISpaceArchitectShim.d.ts.map +1 -0
  237. package/dist/v3/ISpaceArchitectShim.js +38 -0
  238. package/dist/v3/ISpaceArchitectShim.js.map +1 -0
  239. package/dist/v3/ISpaceDelegationShim.d.ts +7 -0
  240. package/dist/v3/ISpaceDelegationShim.d.ts.map +1 -0
  241. package/dist/v3/ISpaceDelegationShim.js +8 -0
  242. package/dist/v3/ISpaceDelegationShim.js.map +1 -0
  243. package/dist/v3/ISpaceOwnerShim.d.ts +8 -0
  244. package/dist/v3/ISpaceOwnerShim.d.ts.map +1 -0
  245. package/dist/v3/ISpaceOwnerShim.js +8 -0
  246. package/dist/v3/ISpaceOwnerShim.js.map +1 -0
  247. package/dist/v3/IStreamRegistryShim.d.ts +7 -0
  248. package/dist/v3/IStreamRegistryShim.d.ts.map +1 -0
  249. package/dist/v3/IStreamRegistryShim.js +8 -0
  250. package/dist/v3/IStreamRegistryShim.js.map +1 -0
  251. package/dist/v3/ITippingShim.d.ts +20 -0
  252. package/dist/v3/ITippingShim.d.ts.map +1 -0
  253. package/dist/v3/ITippingShim.js +46 -0
  254. package/dist/v3/ITippingShim.js.map +1 -0
  255. package/dist/v3/ITreasuryShim.d.ts +7 -0
  256. package/dist/v3/ITreasuryShim.d.ts.map +1 -0
  257. package/dist/v3/ITreasuryShim.js +8 -0
  258. package/dist/v3/ITreasuryShim.js.map +1 -0
  259. package/dist/v3/MockERC721AShim.d.ts +7 -0
  260. package/dist/v3/MockERC721AShim.d.ts.map +1 -0
  261. package/dist/v3/MockERC721AShim.js +8 -0
  262. package/dist/v3/MockERC721AShim.js.map +1 -0
  263. package/dist/v3/OwnableFacetShim.d.ts +7 -0
  264. package/dist/v3/OwnableFacetShim.d.ts.map +1 -0
  265. package/dist/v3/OwnableFacetShim.js +8 -0
  266. package/dist/v3/OwnableFacetShim.js.map +1 -0
  267. package/dist/v3/PlatformRequirements.d.ts +10 -0
  268. package/dist/v3/PlatformRequirements.d.ts.map +1 -0
  269. package/dist/v3/PlatformRequirements.js +17 -0
  270. package/dist/v3/PlatformRequirements.js.map +1 -0
  271. package/dist/v3/PricingModules.d.ts +13 -0
  272. package/dist/v3/PricingModules.d.ts.map +1 -0
  273. package/dist/v3/PricingModules.js +23 -0
  274. package/dist/v3/PricingModules.js.map +1 -0
  275. package/dist/v3/RiverAirdropDapp.d.ts +16 -0
  276. package/dist/v3/RiverAirdropDapp.d.ts.map +1 -0
  277. package/dist/v3/RiverAirdropDapp.js +30 -0
  278. package/dist/v3/RiverAirdropDapp.js.map +1 -0
  279. package/dist/v3/RiverRegistry.d.ts +32 -0
  280. package/dist/v3/RiverRegistry.d.ts.map +1 -0
  281. package/dist/v3/RiverRegistry.js +96 -0
  282. package/dist/v3/RiverRegistry.js.map +1 -0
  283. package/dist/v3/RuleEntitlementShim.d.ts +11 -0
  284. package/dist/v3/RuleEntitlementShim.d.ts.map +1 -0
  285. package/dist/v3/RuleEntitlementShim.js +38 -0
  286. package/dist/v3/RuleEntitlementShim.js.map +1 -0
  287. package/dist/v3/RuleEntitlementV2Shim.d.ts +11 -0
  288. package/dist/v3/RuleEntitlementV2Shim.d.ts.map +1 -0
  289. package/dist/v3/RuleEntitlementV2Shim.js +38 -0
  290. package/dist/v3/RuleEntitlementV2Shim.js.map +1 -0
  291. package/dist/v3/Space.d.ts +97 -0
  292. package/dist/v3/Space.d.ts.map +1 -0
  293. package/dist/v3/Space.js +440 -0
  294. package/dist/v3/Space.js.map +1 -0
  295. package/dist/v3/SpaceDapp.d.ts +212 -0
  296. package/dist/v3/SpaceDapp.d.ts.map +1 -0
  297. package/dist/v3/SpaceDapp.js +1164 -0
  298. package/dist/v3/SpaceDapp.js.map +1 -0
  299. package/dist/v3/SpaceOwner.d.ts +13 -0
  300. package/dist/v3/SpaceOwner.d.ts.map +1 -0
  301. package/dist/v3/SpaceOwner.js +18 -0
  302. package/dist/v3/SpaceOwner.js.map +1 -0
  303. package/dist/v3/SpaceRegistrar.d.ts +25 -0
  304. package/dist/v3/SpaceRegistrar.d.ts.map +1 -0
  305. package/dist/v3/SpaceRegistrar.js +56 -0
  306. package/dist/v3/SpaceRegistrar.js.map +1 -0
  307. package/dist/v3/TokenPausableFacetShim.d.ts +7 -0
  308. package/dist/v3/TokenPausableFacetShim.d.ts.map +1 -0
  309. package/dist/v3/TokenPausableFacetShim.js +8 -0
  310. package/dist/v3/TokenPausableFacetShim.js.map +1 -0
  311. package/dist/v3/UserEntitlementShim.d.ts +11 -0
  312. package/dist/v3/UserEntitlementShim.d.ts.map +1 -0
  313. package/dist/v3/UserEntitlementShim.js +44 -0
  314. package/dist/v3/UserEntitlementShim.js.map +1 -0
  315. package/dist/v3/WalletLink.d.ts +50 -0
  316. package/dist/v3/WalletLink.d.ts.map +1 -0
  317. package/dist/v3/WalletLink.js +215 -0
  318. package/dist/v3/WalletLink.js.map +1 -0
  319. package/dist/v3/WalletLinkShim.d.ts +7 -0
  320. package/dist/v3/WalletLinkShim.d.ts.map +1 -0
  321. package/dist/v3/WalletLinkShim.js +8 -0
  322. package/dist/v3/WalletLinkShim.js.map +1 -0
  323. package/dist/v3/index.d.ts +24 -0
  324. package/dist/v3/index.d.ts.map +1 -0
  325. package/dist/v3/index.js +24 -0
  326. package/dist/v3/index.js.map +1 -0
  327. package/package.json +54 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuleEntitlementV2Shim.js","sourceRoot":"","sources":["../../src/v3/RuleEntitlementV2Shim.ts"],"names":[],"mappings":"AAMA,OAAO,YAAY,MAAM,gEAAgE,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAA;AAEjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,qBAAqB,EAAqB,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;AAE7C,MAAM,OAAO,qBACT,SAAQ,gBAAuD;IAG/D,YAAY,OAAe,EAAE,QAA+C;QACxE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC1C,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,qBAAqB,CAAC,iBAAiB,CAAA;IAClD,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC3B,MAAoB;QAEpB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACf,OAAO;gBACH,UAAU,EAAE,EAAE;gBACd,eAAe,EAAE,EAAE;gBACnB,iBAAiB,EAAE,EAAE;aACxB,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAEM,iBAAiB,CAAC,eAAuB;QAC5C,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CACrC,eAAe,EACf,eAAe,CAC6B,CAAA;YAEhD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAA;gBAC3D,OAAO,SAAS,CAAA;YACpB,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,uDAAuD,EAAE,KAAK,CAAC,CAAA;QAChF,CAAC;QACD,OAAM;IACV,CAAC;CACJ"}
@@ -0,0 +1,97 @@
1
+ import { BigNumberish, ethers } from 'ethers';
2
+ import { ChannelDetails, ChannelMetadata, EntitlementDetails, EntitlementModuleType, EntitlementShim, Permission, RoleDetails, RoleEntitlements } from '../ContractTypes';
3
+ import { IChannelShim } from './IChannelShim';
4
+ import { IRolesBase, IRolesShim } from './IRolesShim';
5
+ import { ISpaceOwnerBase, ISpaceOwnerShim } from './ISpaceOwnerShim';
6
+ import { IEntitlementsShim } from './IEntitlementsShim';
7
+ import { IMulticallShim } from './IMulticallShim';
8
+ import { OwnableFacetShim } from './OwnableFacetShim';
9
+ import { TokenPausableFacetShim } from './TokenPausableFacetShim';
10
+ import { IMembershipShim } from './IMembershipShim';
11
+ import { IBanningShim } from './IBanningShim';
12
+ import { ITippingShim } from './ITippingShim';
13
+ import { IERC721AQueryableShim } from './IERC721AQueryableShim';
14
+ import { IEntitlementDataQueryableShim } from './IEntitlementDataQueryableShim';
15
+ import { BaseChainConfig } from '../IStaticContractsInfo';
16
+ import { IPrepayShim } from './IPrepayShim';
17
+ import { IERC721AShim } from './IERC721AShim';
18
+ import { IReviewShim } from './IReviewShim';
19
+ import { ITreasuryShim } from './ITreasuryShim';
20
+ export declare class Space {
21
+ private readonly address;
22
+ private readonly addressToEntitlement;
23
+ private readonly spaceId;
24
+ readonly provider: ethers.providers.Provider | undefined;
25
+ private readonly channel;
26
+ private readonly entitlements;
27
+ private readonly multicall;
28
+ private readonly ownable;
29
+ private readonly pausable;
30
+ private readonly roles;
31
+ private readonly spaceOwner;
32
+ private readonly membership;
33
+ private readonly banning;
34
+ private readonly erc721AQueryable;
35
+ private readonly entitlementDataQueryable;
36
+ private readonly prepay;
37
+ private readonly erc721A;
38
+ private readonly spaceOwnerErc721A;
39
+ private readonly tipping;
40
+ private readonly review;
41
+ private readonly treasury;
42
+ constructor(address: string, spaceId: string, config: BaseChainConfig, provider: ethers.providers.Provider | undefined);
43
+ private getAllShims;
44
+ get Address(): string;
45
+ get SpaceId(): string;
46
+ get Channels(): IChannelShim;
47
+ get Multicall(): IMulticallShim;
48
+ get Ownable(): OwnableFacetShim;
49
+ get Pausable(): TokenPausableFacetShim;
50
+ get Roles(): IRolesShim;
51
+ get Entitlements(): IEntitlementsShim;
52
+ get SpaceOwner(): ISpaceOwnerShim;
53
+ get Membership(): IMembershipShim;
54
+ get Banning(): IBanningShim;
55
+ get ERC721AQueryable(): IERC721AQueryableShim;
56
+ get EntitlementDataQueryable(): IEntitlementDataQueryableShim;
57
+ get Prepay(): IPrepayShim;
58
+ get ERC721A(): IERC721AShim;
59
+ get SpaceOwnerErc721A(): IERC721AShim;
60
+ get Tipping(): ITippingShim;
61
+ get Review(): IReviewShim;
62
+ get Treasury(): ITreasuryShim;
63
+ totalTips({ currency }: {
64
+ currency: string;
65
+ }): Promise<{
66
+ count: bigint;
67
+ amount: bigint;
68
+ }>;
69
+ getSpaceInfo(): Promise<ISpaceOwnerBase.SpaceStruct>;
70
+ getRole(roleId: BigNumberish): Promise<RoleDetails | null>;
71
+ getChannel(channelNetworkId: string): Promise<ChannelDetails | null>;
72
+ getChannelMetadata(channelNetworkId: string): Promise<ChannelMetadata | null>;
73
+ getChannels(): Promise<ChannelMetadata[]>;
74
+ getChannelRoles(channelNetworkId: string): Promise<IRolesBase.RoleStructOutput[]>;
75
+ getPermissionsByRoleId(roleId: number): Promise<Permission[]>;
76
+ private getChannelRoleEntitlements;
77
+ findEntitlementByType(entitlementType: EntitlementModuleType): Promise<EntitlementShim | null>;
78
+ parseError(error: unknown): Error;
79
+ parseLog(log: ethers.providers.Log): ethers.utils.LogDescription;
80
+ private getEntitlementByAddress;
81
+ private getRoleInfo;
82
+ getEntitlementShims(): Promise<EntitlementShim[]>;
83
+ getEntitlementDetails(entitlementShims: EntitlementShim[], roleId: BigNumberish): Promise<EntitlementDetails>;
84
+ private getChannelsWithRole;
85
+ private getRolesInfo;
86
+ getRoleEntitlements(entitlementShims: EntitlementShim[], roleId: BigNumberish): Promise<RoleEntitlements | null>;
87
+ getTokenIdsOfOwner(linkedWallets: string[]): Promise<string[]>;
88
+ getProtocolFee(): Promise<bigint>;
89
+ /**
90
+ * This function is potentially expensive and should be used with caution.
91
+ * For example, a space with 1000 members will make 1000 + 1 calls to the blockchain.
92
+ * @param untilTokenId - The token id to stop at, if not provided, will get all members
93
+ * @returns An array of member addresses
94
+ */
95
+ __expensivelyGetMembers(untilTokenId?: BigNumberish): Promise<string[]>;
96
+ }
97
+ //# sourceMappingURL=Space.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Space.d.ts","sourceRoot":"","sources":["../../src/v3/Space.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,440 @@
1
+ import { EntitlementModuleType, isRuleEntitlement, isRuleEntitlementV2, isUserEntitlement, } from '../ContractTypes';
2
+ import { IChannelShim } from './IChannelShim';
3
+ import { IRolesShim } from './IRolesShim';
4
+ import { ISpaceOwnerShim } from './ISpaceOwnerShim';
5
+ import { IEntitlementsShim } from './IEntitlementsShim';
6
+ import { IMulticallShim } from './IMulticallShim';
7
+ import { OwnableFacetShim } from './OwnableFacetShim';
8
+ import { TokenPausableFacetShim } from './TokenPausableFacetShim';
9
+ import { UNKNOWN_ERROR } from './BaseContractShim';
10
+ import { UserEntitlementShim } from './UserEntitlementShim';
11
+ import { isRoleIdInArray } from '../ContractHelpers';
12
+ import { toPermissions } from '../ConvertersRoles';
13
+ import { IMembershipShim } from './IMembershipShim';
14
+ import { NoopRuleData } from '../entitlement';
15
+ import { RuleEntitlementShim } from './RuleEntitlementShim';
16
+ import { RuleEntitlementV2Shim } from './RuleEntitlementV2Shim';
17
+ import { IBanningShim } from './IBanningShim';
18
+ import { ITippingShim } from './ITippingShim';
19
+ import { IERC721AQueryableShim } from './IERC721AQueryableShim';
20
+ import { IEntitlementDataQueryableShim } from './IEntitlementDataQueryableShim';
21
+ import { parseChannelMetadataJSON } from '../Utils';
22
+ import { IPrepayShim } from './IPrepayShim';
23
+ import { IERC721AShim } from './IERC721AShim';
24
+ import { IReviewShim } from './IReviewShim';
25
+ import { ITreasuryShim } from './ITreasuryShim';
26
+ export class Space {
27
+ address;
28
+ addressToEntitlement = {};
29
+ spaceId;
30
+ provider;
31
+ channel;
32
+ entitlements;
33
+ multicall;
34
+ ownable;
35
+ pausable;
36
+ roles;
37
+ spaceOwner;
38
+ membership;
39
+ banning;
40
+ erc721AQueryable;
41
+ entitlementDataQueryable;
42
+ prepay;
43
+ erc721A;
44
+ spaceOwnerErc721A;
45
+ tipping;
46
+ review;
47
+ treasury;
48
+ constructor(address, spaceId, config, provider) {
49
+ this.address = address;
50
+ this.spaceId = spaceId;
51
+ this.provider = provider;
52
+ //
53
+ // If you add a new contract shim, make sure to add it in getAllShims()
54
+ //
55
+ this.channel = new IChannelShim(address, provider);
56
+ this.entitlements = new IEntitlementsShim(address, provider);
57
+ this.multicall = new IMulticallShim(address, provider);
58
+ this.ownable = new OwnableFacetShim(address, provider);
59
+ this.pausable = new TokenPausableFacetShim(address, provider);
60
+ this.roles = new IRolesShim(address, provider);
61
+ this.spaceOwner = new ISpaceOwnerShim(config.addresses.spaceOwner, provider);
62
+ this.spaceOwnerErc721A = new IERC721AShim(config.addresses.spaceOwner, provider);
63
+ this.membership = new IMembershipShim(address, provider);
64
+ this.banning = new IBanningShim(address, provider);
65
+ this.erc721AQueryable = new IERC721AQueryableShim(address, provider);
66
+ this.entitlementDataQueryable = new IEntitlementDataQueryableShim(address, provider);
67
+ this.prepay = new IPrepayShim(address, provider);
68
+ this.erc721A = new IERC721AShim(address, provider);
69
+ this.tipping = new ITippingShim(address, provider);
70
+ this.review = new IReviewShim(address, provider);
71
+ this.treasury = new ITreasuryShim(address, provider);
72
+ }
73
+ getAllShims() {
74
+ return [
75
+ this.channel,
76
+ this.entitlements,
77
+ this.multicall,
78
+ this.ownable,
79
+ this.pausable,
80
+ this.roles,
81
+ this.spaceOwner,
82
+ this.spaceOwnerErc721A,
83
+ this.membership,
84
+ this.banning,
85
+ this.erc721AQueryable,
86
+ this.entitlementDataQueryable,
87
+ this.prepay,
88
+ this.erc721A,
89
+ this.tipping,
90
+ this.treasury,
91
+ ];
92
+ }
93
+ get Address() {
94
+ return this.address;
95
+ }
96
+ get SpaceId() {
97
+ return this.spaceId;
98
+ }
99
+ get Channels() {
100
+ return this.channel;
101
+ }
102
+ get Multicall() {
103
+ return this.multicall;
104
+ }
105
+ get Ownable() {
106
+ return this.ownable;
107
+ }
108
+ get Pausable() {
109
+ return this.pausable;
110
+ }
111
+ get Roles() {
112
+ return this.roles;
113
+ }
114
+ get Entitlements() {
115
+ return this.entitlements;
116
+ }
117
+ get SpaceOwner() {
118
+ return this.spaceOwner;
119
+ }
120
+ get Membership() {
121
+ return this.membership;
122
+ }
123
+ get Banning() {
124
+ return this.banning;
125
+ }
126
+ get ERC721AQueryable() {
127
+ return this.erc721AQueryable;
128
+ }
129
+ get EntitlementDataQueryable() {
130
+ return this.entitlementDataQueryable;
131
+ }
132
+ get Prepay() {
133
+ return this.prepay;
134
+ }
135
+ get ERC721A() {
136
+ return this.erc721A;
137
+ }
138
+ get SpaceOwnerErc721A() {
139
+ return this.spaceOwnerErc721A;
140
+ }
141
+ get Tipping() {
142
+ return this.tipping;
143
+ }
144
+ get Review() {
145
+ return this.review;
146
+ }
147
+ get Treasury() {
148
+ return this.treasury;
149
+ }
150
+ async totalTips({ currency }) {
151
+ const [count, amount] = await Promise.all([
152
+ this.tipping.totalTipsByCurrency(currency),
153
+ this.tipping.tipAmountByCurrency(currency),
154
+ ]);
155
+ return {
156
+ count,
157
+ amount,
158
+ };
159
+ }
160
+ getSpaceInfo() {
161
+ return this.spaceOwner.read.getSpaceInfo(this.address);
162
+ }
163
+ async getRole(roleId) {
164
+ // get all the entitlements for the space
165
+ const entitlementShims = await this.getEntitlementShims();
166
+ // get the various pieces of details
167
+ const [roleEntitlements, channels] = await Promise.all([
168
+ this.getRoleEntitlements(entitlementShims, roleId),
169
+ this.getChannelsWithRole(roleId),
170
+ ]);
171
+ // assemble the result
172
+ if (roleEntitlements === null) {
173
+ return null;
174
+ }
175
+ return {
176
+ id: roleEntitlements.roleId,
177
+ name: roleEntitlements.name,
178
+ permissions: roleEntitlements.permissions,
179
+ channels,
180
+ users: roleEntitlements.users,
181
+ ruleData: roleEntitlements.ruleData,
182
+ };
183
+ }
184
+ async getChannel(channelNetworkId) {
185
+ // get most of the channel details except the roles which
186
+ // require a separate call to get each role's details
187
+ const channelId = channelNetworkId.startsWith('0x')
188
+ ? channelNetworkId
189
+ : `0x${channelNetworkId}`;
190
+ const channelInfo = await this.Channels.read.getChannel(channelId);
191
+ const roles = await this.getChannelRoleEntitlements(channelInfo);
192
+ const metadata = parseChannelMetadataJSON(channelInfo.metadata);
193
+ return {
194
+ spaceNetworkId: this.spaceId,
195
+ channelNetworkId: channelNetworkId.replace('0x', ''),
196
+ name: metadata.name,
197
+ description: metadata.description,
198
+ disabled: channelInfo.disabled,
199
+ roles,
200
+ };
201
+ }
202
+ async getChannelMetadata(channelNetworkId) {
203
+ const channelId = channelNetworkId.startsWith('0x')
204
+ ? channelNetworkId
205
+ : `0x${channelNetworkId}`;
206
+ const channelInfo = await this.Channels.read.getChannel(channelId);
207
+ const metadata = parseChannelMetadataJSON(channelInfo.metadata);
208
+ return {
209
+ name: metadata.name,
210
+ channelNetworkId: channelInfo.id.replace('0x', ''),
211
+ description: metadata.description,
212
+ disabled: channelInfo.disabled,
213
+ };
214
+ }
215
+ async getChannels() {
216
+ const channels = [];
217
+ const getOutput = await this.Channels.read.getChannels();
218
+ for (const o of getOutput) {
219
+ const metadata = parseChannelMetadataJSON(o.metadata);
220
+ channels.push({
221
+ name: metadata.name,
222
+ description: metadata.description,
223
+ channelNetworkId: o.id.replace('0x', ''),
224
+ disabled: o.disabled,
225
+ });
226
+ }
227
+ return channels;
228
+ }
229
+ async getChannelRoles(channelNetworkId) {
230
+ const channelId = channelNetworkId.startsWith('0x')
231
+ ? channelNetworkId
232
+ : `0x${channelNetworkId}`;
233
+ // get all the roleIds for the channel
234
+ const channelInfo = await this.Channels.read.getChannel(channelId);
235
+ // return the role info
236
+ return this.getRolesInfo(channelInfo.roleIds);
237
+ }
238
+ async getPermissionsByRoleId(roleId) {
239
+ const permissions = await this.Roles.read.getPermissionsByRoleId(roleId);
240
+ return toPermissions(permissions);
241
+ }
242
+ async getChannelRoleEntitlements(channelInfo) {
243
+ // get all the entitlements for the space
244
+ const entitlementShims = await this.getEntitlementShims();
245
+ const getRoleEntitlementsAsync = [];
246
+ for (const roleId of channelInfo.roleIds) {
247
+ getRoleEntitlementsAsync.push(this.getRoleEntitlements(entitlementShims, roleId));
248
+ }
249
+ // get all the role info
250
+ const allRoleEntitlements = await Promise.all(getRoleEntitlementsAsync);
251
+ return allRoleEntitlements.filter((r) => r !== null);
252
+ }
253
+ async findEntitlementByType(entitlementType) {
254
+ const entitlements = await this.getEntitlementShims();
255
+ for (const entitlement of entitlements) {
256
+ if (entitlement.moduleType === entitlementType) {
257
+ return entitlement;
258
+ }
259
+ }
260
+ return null;
261
+ }
262
+ parseError(error) {
263
+ // try each of the contracts to see who can give the best error message
264
+ const shims = this.getAllShims();
265
+ const first = shims[0];
266
+ const rest = shims.slice(1);
267
+ let err = first.parseError(error);
268
+ if (err?.name !== UNKNOWN_ERROR) {
269
+ return err;
270
+ }
271
+ for (const contract of rest) {
272
+ err = contract.parseError(error);
273
+ if (err?.name !== UNKNOWN_ERROR) {
274
+ return err;
275
+ }
276
+ }
277
+ return err;
278
+ }
279
+ parseLog(log) {
280
+ const shims = this.getAllShims();
281
+ for (const contract of shims) {
282
+ try {
283
+ return contract.parseLog(log);
284
+ }
285
+ catch (error) {
286
+ // ignore, throw error if none match
287
+ }
288
+ }
289
+ throw new Error('Failed to parse log: ' + JSON.stringify(log));
290
+ }
291
+ async getEntitlementByAddress(address) {
292
+ if (!this.addressToEntitlement[address]) {
293
+ const entitlement = await this.entitlements.read.getEntitlement(address);
294
+ switch (entitlement.moduleType) {
295
+ case EntitlementModuleType.UserEntitlement:
296
+ this.addressToEntitlement[address] = new UserEntitlementShim(address, this.provider);
297
+ break;
298
+ case EntitlementModuleType.RuleEntitlement:
299
+ this.addressToEntitlement[address] = new RuleEntitlementShim(address, this.provider);
300
+ break;
301
+ case EntitlementModuleType.RuleEntitlementV2:
302
+ this.addressToEntitlement[address] = new RuleEntitlementV2Shim(address, this.provider);
303
+ break;
304
+ default:
305
+ throw new Error(`Unsupported entitlement module type: ${entitlement.moduleType}`);
306
+ }
307
+ }
308
+ return this.addressToEntitlement[address];
309
+ }
310
+ async getRoleInfo(roleId) {
311
+ try {
312
+ return await this.roles.read.getRoleById(roleId);
313
+ }
314
+ catch (e) {
315
+ // any error means the role doesn't exist
316
+ //console.error(e)
317
+ return null;
318
+ }
319
+ }
320
+ async getEntitlementShims() {
321
+ // get all the entitlement addresses supported in the space
322
+ const entitlementInfo = await this.entitlements.read.getEntitlements();
323
+ const getEntitlementShims = [];
324
+ // with the addresses, get the entitlement shims
325
+ for (const info of entitlementInfo) {
326
+ getEntitlementShims.push(this.getEntitlementByAddress(info.moduleAddress));
327
+ }
328
+ return Promise.all(getEntitlementShims);
329
+ }
330
+ async getEntitlementDetails(entitlementShims, roleId) {
331
+ let users = [];
332
+ let ruleData = undefined;
333
+ let ruleDataV2 = undefined;
334
+ let useRuleDataV1 = false;
335
+ // with the shims, get the role details for each entitlement
336
+ await Promise.all(entitlementShims.map(async (entitlement) => {
337
+ if (isUserEntitlement(entitlement)) {
338
+ users = (await entitlement.getRoleEntitlement(roleId)) ?? [];
339
+ }
340
+ else if (isRuleEntitlement(entitlement)) {
341
+ ruleData = (await entitlement.getRoleEntitlement(roleId)) ?? undefined;
342
+ useRuleDataV1 = true;
343
+ }
344
+ else if (isRuleEntitlementV2(entitlement)) {
345
+ ruleDataV2 = (await entitlement.getRoleEntitlement(roleId)) ?? undefined;
346
+ }
347
+ }));
348
+ if (useRuleDataV1) {
349
+ return {
350
+ users,
351
+ ruleData: {
352
+ kind: 'v1',
353
+ rules: ruleData ?? NoopRuleData,
354
+ },
355
+ };
356
+ }
357
+ else {
358
+ return {
359
+ users,
360
+ ruleData: {
361
+ kind: 'v2',
362
+ rules: ruleDataV2 ?? NoopRuleData,
363
+ },
364
+ };
365
+ }
366
+ }
367
+ async getChannelsWithRole(roleId) {
368
+ const channelMetadatas = new Map();
369
+ // get all the channels from the space
370
+ const allChannels = await this.channel.read.getChannels();
371
+ // for each channel, check with each entitlement if the role is in the channel
372
+ // add the channel to the list if it is not already added
373
+ for (const c of allChannels) {
374
+ if (!channelMetadatas.has(c.id) && isRoleIdInArray(c.roleIds, roleId)) {
375
+ const metadata = parseChannelMetadataJSON(c.metadata);
376
+ channelMetadatas.set(c.id, {
377
+ channelNetworkId: c.id.replace('0x', ''),
378
+ name: metadata.name,
379
+ description: metadata.description,
380
+ disabled: c.disabled,
381
+ });
382
+ }
383
+ }
384
+ return Array.from(channelMetadatas.values());
385
+ }
386
+ async getRolesInfo(roleIds) {
387
+ // use a Set to ensure that we only get roles once
388
+ const roles = new Set();
389
+ const getRoleStructsAsync = [];
390
+ for (const roleId of roleIds) {
391
+ // get the role info if we don't already have it
392
+ if (!roles.has(roleId.toString())) {
393
+ getRoleStructsAsync.push(this.roles.read.getRoleById(roleId));
394
+ }
395
+ }
396
+ // get all the role info
397
+ return Promise.all(getRoleStructsAsync);
398
+ }
399
+ async getRoleEntitlements(entitlementShims, roleId) {
400
+ const [roleInfo, entitlementDetails] = await Promise.all([
401
+ this.getRoleInfo(roleId),
402
+ this.getEntitlementDetails(entitlementShims, roleId),
403
+ ]);
404
+ // assemble the result
405
+ if (roleInfo === null) {
406
+ return null;
407
+ }
408
+ return {
409
+ roleId: roleInfo.id.toNumber(),
410
+ name: roleInfo.name,
411
+ permissions: toPermissions(roleInfo.permissions),
412
+ users: entitlementDetails.users,
413
+ ruleData: entitlementDetails.ruleData,
414
+ };
415
+ }
416
+ async getTokenIdsOfOwner(linkedWallets) {
417
+ const tokenPromises = linkedWallets.map((wallet) => this.erc721AQueryable.read.tokensOfOwner(wallet));
418
+ const allTokenArrays = await Promise.all(tokenPromises);
419
+ return allTokenArrays.flat().map((token) => token.toString());
420
+ }
421
+ async getProtocolFee() {
422
+ return (await this.membership.read.getProtocolFee()).toBigInt();
423
+ }
424
+ /**
425
+ * This function is potentially expensive and should be used with caution.
426
+ * For example, a space with 1000 members will make 1000 + 1 calls to the blockchain.
427
+ * @param untilTokenId - The token id to stop at, if not provided, will get all members
428
+ * @returns An array of member addresses
429
+ */
430
+ async __expensivelyGetMembers(untilTokenId) {
431
+ if (untilTokenId === undefined) {
432
+ untilTokenId = await this.erc721A.read.totalSupply();
433
+ }
434
+ untilTokenId = Number(untilTokenId);
435
+ const tokenIds = Array.from({ length: untilTokenId }, (_, i) => i);
436
+ const promises = tokenIds.map((tokenId) => this.erc721A.read.ownerOf(tokenId));
437
+ return Promise.all(promises);
438
+ }
439
+ }
440
+ //# sourceMappingURL=Space.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Space.js","sourceRoot":"","sources":["../../src/v3/Space.ts"],"names":[],"mappings":"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"}