@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.
- package/LICENSE.txt +21 -0
- package/README.md +3 -0
- package/dist/ContractHelpers.d.ts +18 -0
- package/dist/ContractHelpers.d.ts.map +1 -0
- package/dist/ContractHelpers.js +75 -0
- package/dist/ContractHelpers.js.map +1 -0
- package/dist/ContractTypes.d.ts +143 -0
- package/dist/ContractTypes.d.ts.map +1 -0
- package/dist/ContractTypes.js +65 -0
- package/dist/ContractTypes.js.map +1 -0
- package/dist/ConvertersEntitlements.d.ts +10 -0
- package/dist/ConvertersEntitlements.d.ts.map +1 -0
- package/dist/ConvertersEntitlements.js +120 -0
- package/dist/ConvertersEntitlements.js.map +1 -0
- package/dist/ConvertersRoles.d.ts +8 -0
- package/dist/ConvertersRoles.d.ts.map +1 -0
- package/dist/ConvertersRoles.js +94 -0
- package/dist/ConvertersRoles.js.map +1 -0
- package/dist/DelegateRegistry.d.ts +3 -0
- package/dist/DelegateRegistry.d.ts.map +1 -0
- package/dist/DelegateRegistry.js +72 -0
- package/dist/DelegateRegistry.js.map +1 -0
- package/dist/EntitlementCache.d.ts +20 -0
- package/dist/EntitlementCache.d.ts.map +1 -0
- package/dist/EntitlementCache.js +41 -0
- package/dist/EntitlementCache.js.map +1 -0
- package/dist/EntitlementCache.test.d.ts +5 -0
- package/dist/EntitlementCache.test.d.ts.map +1 -0
- package/dist/EntitlementCache.test.js +130 -0
- package/dist/EntitlementCache.test.js.map +1 -0
- package/dist/ISpaceDapp.d.ts +193 -0
- package/dist/ISpaceDapp.d.ts.map +1 -0
- package/dist/ISpaceDapp.js +2 -0
- package/dist/ISpaceDapp.js.map +1 -0
- package/dist/IStaticContractsInfo.d.ts +28 -0
- package/dist/IStaticContractsInfo.d.ts.map +1 -0
- package/dist/IStaticContractsInfo.js +13 -0
- package/dist/IStaticContractsInfo.js.map +1 -0
- package/dist/LocalhostWeb3Provider.d.ts +15 -0
- package/dist/LocalhostWeb3Provider.d.ts.map +1 -0
- package/dist/LocalhostWeb3Provider.js +60 -0
- package/dist/LocalhostWeb3Provider.js.map +1 -0
- package/dist/MockCrossChainEntitlement.d.ts +6 -0
- package/dist/MockCrossChainEntitlement.d.ts.map +1 -0
- package/dist/MockCrossChainEntitlement.js +104 -0
- package/dist/MockCrossChainEntitlement.js.map +1 -0
- package/dist/MockERC1155.d.ts +6 -0
- package/dist/MockERC1155.d.ts.map +1 -0
- package/dist/MockERC1155.js +518 -0
- package/dist/MockERC1155.js.map +1 -0
- package/dist/MockERC20.d.ts +6 -0
- package/dist/MockERC20.d.ts.map +1 -0
- package/dist/MockERC20.js +574 -0
- package/dist/MockERC20.js.map +1 -0
- package/dist/MockERC721A.d.ts +1563 -0
- package/dist/MockERC721A.d.ts.map +1 -0
- package/dist/MockERC721A.js +1913 -0
- package/dist/MockERC721A.js.map +1 -0
- package/dist/RiverRegistryFactory.d.ts +5 -0
- package/dist/RiverRegistryFactory.d.ts.map +1 -0
- package/dist/RiverRegistryFactory.js +5 -0
- package/dist/RiverRegistryFactory.js.map +1 -0
- package/dist/SpaceDappFactory.d.ts +5 -0
- package/dist/SpaceDappFactory.d.ts.map +1 -0
- package/dist/SpaceDappFactory.js +8 -0
- package/dist/SpaceDappFactory.js.map +1 -0
- package/dist/TestCrossChainEntitlement.d.ts +14 -0
- package/dist/TestCrossChainEntitlement.d.ts.map +1 -0
- package/dist/TestCrossChainEntitlement.js +100 -0
- package/dist/TestCrossChainEntitlement.js.map +1 -0
- package/dist/TestEthBalance.d.ts +60 -0
- package/dist/TestEthBalance.d.ts.map +1 -0
- package/dist/TestEthBalance.js +94 -0
- package/dist/TestEthBalance.js.map +1 -0
- package/dist/TestGatingERC1155.d.ts +17 -0
- package/dist/TestGatingERC1155.d.ts.map +1 -0
- package/dist/TestGatingERC1155.js +101 -0
- package/dist/TestGatingERC1155.js.map +1 -0
- package/dist/TestGatingERC20.d.ts +17 -0
- package/dist/TestGatingERC20.d.ts.map +1 -0
- package/dist/TestGatingERC20.js +149 -0
- package/dist/TestGatingERC20.js.map +1 -0
- package/dist/TestGatingNFT.d.ts +17 -0
- package/dist/TestGatingNFT.d.ts.map +1 -0
- package/dist/TestGatingNFT.js +140 -0
- package/dist/TestGatingNFT.js.map +1 -0
- package/dist/TestGatingUtils.d.ts +15 -0
- package/dist/TestGatingUtils.d.ts.map +1 -0
- package/dist/TestGatingUtils.js +112 -0
- package/dist/TestGatingUtils.js.map +1 -0
- package/dist/Utils.d.ts +59 -0
- package/dist/Utils.d.ts.map +1 -0
- package/dist/Utils.js +122 -0
- package/dist/Utils.js.map +1 -0
- package/dist/Web3Constants.d.ts +6 -0
- package/dist/Web3Constants.d.ts.map +1 -0
- package/dist/Web3Constants.js +7 -0
- package/dist/Web3Constants.js.map +1 -0
- package/dist/Web3Constants.test.d.ts +2 -0
- package/dist/Web3Constants.test.d.ts.map +1 -0
- package/dist/Web3Constants.test.js +15 -0
- package/dist/Web3Constants.test.js.map +1 -0
- package/dist/chain.d.ts +65 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +48 -0
- package/dist/chain.js.map +1 -0
- package/dist/entitlement.d.ts +146 -0
- package/dist/entitlement.d.ts.map +1 -0
- package/dist/entitlement.js +931 -0
- package/dist/entitlement.js.map +1 -0
- package/dist/entitlement.test.d.ts +2 -0
- package/dist/entitlement.test.d.ts.map +1 -0
- package/dist/entitlement.test.js +1743 -0
- package/dist/entitlement.test.js.map +1 -0
- package/dist/error-types.d.ts +7 -0
- package/dist/error-types.d.ts.map +1 -0
- package/dist/error-types.js +13 -0
- package/dist/error-types.js.map +1 -0
- package/dist/index.d.ts +76 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +76 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +29 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.test.d.ts +2 -0
- package/dist/utils.test.d.ts.map +1 -0
- package/dist/utils.test.js +44 -0
- package/dist/utils.test.js.map +1 -0
- package/dist/v3/BaseContractShim.d.ts +28 -0
- package/dist/v3/BaseContractShim.d.ts.map +1 -0
- package/dist/v3/BaseContractShim.js +185 -0
- package/dist/v3/BaseContractShim.js.map +1 -0
- package/dist/v3/BaseRegistry.d.ts +30 -0
- package/dist/v3/BaseRegistry.d.ts.map +1 -0
- package/dist/v3/BaseRegistry.js +64 -0
- package/dist/v3/BaseRegistry.js.map +1 -0
- package/dist/v3/EIP-712.d.ts +35 -0
- package/dist/v3/EIP-712.d.ts.map +1 -0
- package/dist/v3/EIP-712.js +57 -0
- package/dist/v3/EIP-712.js.map +1 -0
- package/dist/v3/IBanningShim.d.ts +7 -0
- package/dist/v3/IBanningShim.d.ts.map +1 -0
- package/dist/v3/IBanningShim.js +8 -0
- package/dist/v3/IBanningShim.js.map +1 -0
- package/dist/v3/IChannelShim.d.ts +8 -0
- package/dist/v3/IChannelShim.d.ts.map +1 -0
- package/dist/v3/IChannelShim.js +8 -0
- package/dist/v3/IChannelShim.js.map +1 -0
- package/dist/v3/ICreateSpaceShim.d.ts +9 -0
- package/dist/v3/ICreateSpaceShim.d.ts.map +1 -0
- package/dist/v3/ICreateSpaceShim.js +8 -0
- package/dist/v3/ICreateSpaceShim.js.map +1 -0
- package/dist/v3/IDropFacetShim.d.ts +7 -0
- package/dist/v3/IDropFacetShim.d.ts.map +1 -0
- package/dist/v3/IDropFacetShim.js +8 -0
- package/dist/v3/IDropFacetShim.js.map +1 -0
- package/dist/v3/IERC721AQueryableShim.d.ts +7 -0
- package/dist/v3/IERC721AQueryableShim.d.ts.map +1 -0
- package/dist/v3/IERC721AQueryableShim.js +8 -0
- package/dist/v3/IERC721AQueryableShim.js.map +1 -0
- package/dist/v3/IERC721AShim.d.ts +7 -0
- package/dist/v3/IERC721AShim.d.ts.map +1 -0
- package/dist/v3/IERC721AShim.js +8 -0
- package/dist/v3/IERC721AShim.js.map +1 -0
- package/dist/v3/IEntitlementCheckerShim.d.ts +7 -0
- package/dist/v3/IEntitlementCheckerShim.d.ts.map +1 -0
- package/dist/v3/IEntitlementCheckerShim.js +8 -0
- package/dist/v3/IEntitlementCheckerShim.js.map +1 -0
- package/dist/v3/IEntitlementDataQueryableShim.d.ts +8 -0
- package/dist/v3/IEntitlementDataQueryableShim.d.ts.map +1 -0
- package/dist/v3/IEntitlementDataQueryableShim.js +8 -0
- package/dist/v3/IEntitlementDataQueryableShim.js.map +1 -0
- package/dist/v3/IEntitlementsShim.d.ts +8 -0
- package/dist/v3/IEntitlementsShim.d.ts.map +1 -0
- package/dist/v3/IEntitlementsShim.js +8 -0
- package/dist/v3/IEntitlementsShim.js.map +1 -0
- package/dist/v3/ILegacySpaceArchitectShim.d.ts +8 -0
- package/dist/v3/ILegacySpaceArchitectShim.d.ts.map +1 -0
- package/dist/v3/ILegacySpaceArchitectShim.js +8 -0
- package/dist/v3/ILegacySpaceArchitectShim.js.map +1 -0
- package/dist/v3/IMembershipMetadataShim.d.ts +7 -0
- package/dist/v3/IMembershipMetadataShim.d.ts.map +1 -0
- package/dist/v3/IMembershipMetadataShim.js +8 -0
- package/dist/v3/IMembershipMetadataShim.js.map +1 -0
- package/dist/v3/IMembershipShim.d.ts +18 -0
- package/dist/v3/IMembershipShim.d.ts.map +1 -0
- package/dist/v3/IMembershipShim.js +73 -0
- package/dist/v3/IMembershipShim.js.map +1 -0
- package/dist/v3/IMulticallShim.d.ts +7 -0
- package/dist/v3/IMulticallShim.d.ts.map +1 -0
- package/dist/v3/IMulticallShim.js +8 -0
- package/dist/v3/IMulticallShim.js.map +1 -0
- package/dist/v3/INodeOperatorShim.d.ts +7 -0
- package/dist/v3/INodeOperatorShim.d.ts.map +1 -0
- package/dist/v3/INodeOperatorShim.js +8 -0
- package/dist/v3/INodeOperatorShim.js.map +1 -0
- package/dist/v3/INodeRegistryShim.d.ts +7 -0
- package/dist/v3/INodeRegistryShim.d.ts.map +1 -0
- package/dist/v3/INodeRegistryShim.js +8 -0
- package/dist/v3/INodeRegistryShim.js.map +1 -0
- package/dist/v3/IOperatorRegistryShim.d.ts +7 -0
- package/dist/v3/IOperatorRegistryShim.d.ts.map +1 -0
- package/dist/v3/IOperatorRegistryShim.js +8 -0
- package/dist/v3/IOperatorRegistryShim.js.map +1 -0
- package/dist/v3/IPrepayShim.d.ts +7 -0
- package/dist/v3/IPrepayShim.d.ts.map +1 -0
- package/dist/v3/IPrepayShim.js +8 -0
- package/dist/v3/IPrepayShim.js.map +1 -0
- package/dist/v3/IPricingShim.d.ts +8 -0
- package/dist/v3/IPricingShim.d.ts.map +1 -0
- package/dist/v3/IPricingShim.js +8 -0
- package/dist/v3/IPricingShim.js.map +1 -0
- package/dist/v3/IReviewShim.d.ts +61 -0
- package/dist/v3/IReviewShim.d.ts.map +1 -0
- package/dist/v3/IReviewShim.js +101 -0
- package/dist/v3/IReviewShim.js.map +1 -0
- package/dist/v3/IRiverPointsShim.d.ts +7 -0
- package/dist/v3/IRiverPointsShim.d.ts.map +1 -0
- package/dist/v3/IRiverPointsShim.js +8 -0
- package/dist/v3/IRiverPointsShim.js.map +1 -0
- package/dist/v3/IRolesShim.d.ts +8 -0
- package/dist/v3/IRolesShim.d.ts.map +1 -0
- package/dist/v3/IRolesShim.js +8 -0
- package/dist/v3/IRolesShim.js.map +1 -0
- package/dist/v3/IRuleEntitlementShim.d.ts +6 -0
- package/dist/v3/IRuleEntitlementShim.d.ts.map +1 -0
- package/dist/v3/IRuleEntitlementShim.js +3 -0
- package/dist/v3/IRuleEntitlementShim.js.map +1 -0
- package/dist/v3/IRuleEntitlementV2Shim.d.ts +6 -0
- package/dist/v3/IRuleEntitlementV2Shim.d.ts.map +1 -0
- package/dist/v3/IRuleEntitlementV2Shim.js +3 -0
- package/dist/v3/IRuleEntitlementV2Shim.js.map +1 -0
- package/dist/v3/ISpaceArchitectShim.d.ts +8 -0
- package/dist/v3/ISpaceArchitectShim.d.ts.map +1 -0
- package/dist/v3/ISpaceArchitectShim.js +38 -0
- package/dist/v3/ISpaceArchitectShim.js.map +1 -0
- package/dist/v3/ISpaceDelegationShim.d.ts +7 -0
- package/dist/v3/ISpaceDelegationShim.d.ts.map +1 -0
- package/dist/v3/ISpaceDelegationShim.js +8 -0
- package/dist/v3/ISpaceDelegationShim.js.map +1 -0
- package/dist/v3/ISpaceOwnerShim.d.ts +8 -0
- package/dist/v3/ISpaceOwnerShim.d.ts.map +1 -0
- package/dist/v3/ISpaceOwnerShim.js +8 -0
- package/dist/v3/ISpaceOwnerShim.js.map +1 -0
- package/dist/v3/IStreamRegistryShim.d.ts +7 -0
- package/dist/v3/IStreamRegistryShim.d.ts.map +1 -0
- package/dist/v3/IStreamRegistryShim.js +8 -0
- package/dist/v3/IStreamRegistryShim.js.map +1 -0
- package/dist/v3/ITippingShim.d.ts +20 -0
- package/dist/v3/ITippingShim.d.ts.map +1 -0
- package/dist/v3/ITippingShim.js +46 -0
- package/dist/v3/ITippingShim.js.map +1 -0
- package/dist/v3/ITreasuryShim.d.ts +7 -0
- package/dist/v3/ITreasuryShim.d.ts.map +1 -0
- package/dist/v3/ITreasuryShim.js +8 -0
- package/dist/v3/ITreasuryShim.js.map +1 -0
- package/dist/v3/MockERC721AShim.d.ts +7 -0
- package/dist/v3/MockERC721AShim.d.ts.map +1 -0
- package/dist/v3/MockERC721AShim.js +8 -0
- package/dist/v3/MockERC721AShim.js.map +1 -0
- package/dist/v3/OwnableFacetShim.d.ts +7 -0
- package/dist/v3/OwnableFacetShim.d.ts.map +1 -0
- package/dist/v3/OwnableFacetShim.js +8 -0
- package/dist/v3/OwnableFacetShim.js.map +1 -0
- package/dist/v3/PlatformRequirements.d.ts +10 -0
- package/dist/v3/PlatformRequirements.d.ts.map +1 -0
- package/dist/v3/PlatformRequirements.js +17 -0
- package/dist/v3/PlatformRequirements.js.map +1 -0
- package/dist/v3/PricingModules.d.ts +13 -0
- package/dist/v3/PricingModules.d.ts.map +1 -0
- package/dist/v3/PricingModules.js +23 -0
- package/dist/v3/PricingModules.js.map +1 -0
- package/dist/v3/RiverAirdropDapp.d.ts +16 -0
- package/dist/v3/RiverAirdropDapp.d.ts.map +1 -0
- package/dist/v3/RiverAirdropDapp.js +30 -0
- package/dist/v3/RiverAirdropDapp.js.map +1 -0
- package/dist/v3/RiverRegistry.d.ts +32 -0
- package/dist/v3/RiverRegistry.d.ts.map +1 -0
- package/dist/v3/RiverRegistry.js +96 -0
- package/dist/v3/RiverRegistry.js.map +1 -0
- package/dist/v3/RuleEntitlementShim.d.ts +11 -0
- package/dist/v3/RuleEntitlementShim.d.ts.map +1 -0
- package/dist/v3/RuleEntitlementShim.js +38 -0
- package/dist/v3/RuleEntitlementShim.js.map +1 -0
- package/dist/v3/RuleEntitlementV2Shim.d.ts +11 -0
- package/dist/v3/RuleEntitlementV2Shim.d.ts.map +1 -0
- package/dist/v3/RuleEntitlementV2Shim.js +38 -0
- package/dist/v3/RuleEntitlementV2Shim.js.map +1 -0
- package/dist/v3/Space.d.ts +97 -0
- package/dist/v3/Space.d.ts.map +1 -0
- package/dist/v3/Space.js +440 -0
- package/dist/v3/Space.js.map +1 -0
- package/dist/v3/SpaceDapp.d.ts +212 -0
- package/dist/v3/SpaceDapp.d.ts.map +1 -0
- package/dist/v3/SpaceDapp.js +1164 -0
- package/dist/v3/SpaceDapp.js.map +1 -0
- package/dist/v3/SpaceOwner.d.ts +13 -0
- package/dist/v3/SpaceOwner.d.ts.map +1 -0
- package/dist/v3/SpaceOwner.js +18 -0
- package/dist/v3/SpaceOwner.js.map +1 -0
- package/dist/v3/SpaceRegistrar.d.ts +25 -0
- package/dist/v3/SpaceRegistrar.d.ts.map +1 -0
- package/dist/v3/SpaceRegistrar.js +56 -0
- package/dist/v3/SpaceRegistrar.js.map +1 -0
- package/dist/v3/TokenPausableFacetShim.d.ts +7 -0
- package/dist/v3/TokenPausableFacetShim.d.ts.map +1 -0
- package/dist/v3/TokenPausableFacetShim.js +8 -0
- package/dist/v3/TokenPausableFacetShim.js.map +1 -0
- package/dist/v3/UserEntitlementShim.d.ts +11 -0
- package/dist/v3/UserEntitlementShim.d.ts.map +1 -0
- package/dist/v3/UserEntitlementShim.js +44 -0
- package/dist/v3/UserEntitlementShim.js.map +1 -0
- package/dist/v3/WalletLink.d.ts +50 -0
- package/dist/v3/WalletLink.d.ts.map +1 -0
- package/dist/v3/WalletLink.js +215 -0
- package/dist/v3/WalletLink.js.map +1 -0
- package/dist/v3/WalletLinkShim.d.ts +7 -0
- package/dist/v3/WalletLinkShim.d.ts.map +1 -0
- package/dist/v3/WalletLinkShim.js +8 -0
- package/dist/v3/WalletLinkShim.js.map +1 -0
- package/dist/v3/index.d.ts +24 -0
- package/dist/v3/index.d.ts.map +1 -0
- package/dist/v3/index.js +24 -0
- package/dist/v3/index.js.map +1 -0
- 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":"AAAA,OAAO,EAAa,YAAY,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACxD,OAAO,EACH,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,WAAW,EACX,gBAAgB,EAInB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAgB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAKjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAKnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAM/C,qBAAa,KAAK;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA2B;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,SAAgB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAA;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuB;IACxD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA+B;IACxE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAc;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;gBAGpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS;IA2BnD,OAAO,CAAC,WAAW;IAqBnB,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,QAAQ,IAAI,YAAY,CAElC;IAED,IAAW,SAAS,IAAI,cAAc,CAErC;IAED,IAAW,OAAO,IAAI,gBAAgB,CAErC;IAED,IAAW,QAAQ,IAAI,sBAAsB,CAE5C;IAED,IAAW,KAAK,IAAI,UAAU,CAE7B;IAED,IAAW,YAAY,IAAI,iBAAiB,CAE3C;IAED,IAAW,UAAU,IAAI,eAAe,CAEvC;IAED,IAAW,UAAU,IAAI,eAAe,CAEvC;IAED,IAAW,OAAO,IAAI,YAAY,CAEjC;IAED,IAAW,gBAAgB,IAAI,qBAAqB,CAEnD;IAED,IAAW,wBAAwB,IAAI,6BAA6B,CAEnE;IAED,IAAW,MAAM,IAAI,WAAW,CAE/B;IAED,IAAW,OAAO,IAAI,YAAY,CAEjC;IAED,IAAW,iBAAiB,IAAI,YAAY,CAE3C;IAED,IAAW,OAAO,IAAI,YAAY,CAEjC;IAED,IAAW,MAAM,IAAI,WAAW,CAE/B;IAED,IAAW,QAAQ,IAAI,aAAa,CAEnC;IAEY,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAChE,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;KACjB,CAAC;IAWK,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC;IAI9C,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAsB1D,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAmBpE,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAc7E,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAezC,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;IAUjF,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YAK5D,0BAA0B;IAc3B,qBAAqB,CAC9B,eAAe,EAAE,qBAAqB,GACvC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAU3B,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK;IAkBjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc;YAazD,uBAAuB;YA+BvB,WAAW;IAUZ,mBAAmB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAWjD,qBAAqB,CAC9B,gBAAgB,EAAE,eAAe,EAAE,EACnC,MAAM,EAAE,YAAY,GACrB,OAAO,CAAC,kBAAkB,CAAC;YAqChB,mBAAmB;YAoBnB,YAAY;IAcb,mBAAmB,CAC5B,gBAAgB,EAAE,eAAe,EAAE,EACnC,MAAM,EAAE,YAAY,GACrB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAkBtB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ9D,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9C;;;;;OAKG;IACU,uBAAuB,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAWvF"}
|
package/dist/v3/Space.js
ADDED
|
@@ -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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"}
|