@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.
- package/README.md +3 -0
- package/dist/BaseContractShim.d.ts +57 -0
- package/dist/BaseContractShim.d.ts.map +1 -0
- package/dist/BaseContractShim.js +224 -0
- package/dist/BaseContractShim.js.map +1 -0
- package/dist/airdrop/IDropFacetShim.d.ts +9 -0
- package/dist/airdrop/IDropFacetShim.d.ts.map +1 -0
- package/dist/airdrop/IDropFacetShim.js +9 -0
- package/dist/airdrop/IDropFacetShim.js.map +1 -0
- package/dist/airdrop/IRiverPointsShim.d.ts +9 -0
- package/dist/airdrop/IRiverPointsShim.d.ts.map +1 -0
- package/dist/airdrop/IRiverPointsShim.js +9 -0
- package/dist/airdrop/IRiverPointsShim.js.map +1 -0
- package/dist/airdrop/RiverAirdropDapp.d.ts +16 -0
- package/dist/airdrop/RiverAirdropDapp.d.ts.map +1 -0
- package/dist/airdrop/RiverAirdropDapp.js +30 -0
- package/dist/airdrop/RiverAirdropDapp.js.map +1 -0
- package/dist/app-registry/AppRegistryDapp.d.ts +68 -0
- package/dist/app-registry/AppRegistryDapp.d.ts.map +1 -0
- package/dist/app-registry/AppRegistryDapp.js +182 -0
- package/dist/app-registry/AppRegistryDapp.js.map +1 -0
- package/dist/app-registry/IAppFactoryShim.d.ts +9 -0
- package/dist/app-registry/IAppFactoryShim.d.ts.map +1 -0
- package/dist/app-registry/IAppFactoryShim.js +9 -0
- package/dist/app-registry/IAppFactoryShim.js.map +1 -0
- package/dist/app-registry/IAppInstallerShim.d.ts +9 -0
- package/dist/app-registry/IAppInstallerShim.d.ts.map +1 -0
- package/dist/app-registry/IAppInstallerShim.js +9 -0
- package/dist/app-registry/IAppInstallerShim.js.map +1 -0
- package/dist/app-registry/IAppRegistryShim.d.ts +9 -0
- package/dist/app-registry/IAppRegistryShim.d.ts.map +1 -0
- package/dist/app-registry/IAppRegistryShim.js +9 -0
- package/dist/app-registry/IAppRegistryShim.js.map +1 -0
- package/dist/app-registry/IIdentityRegistryShim.d.ts +9 -0
- package/dist/app-registry/IIdentityRegistryShim.d.ts.map +1 -0
- package/dist/app-registry/IIdentityRegistryShim.js +9 -0
- package/dist/app-registry/IIdentityRegistryShim.js.map +1 -0
- package/dist/app-registry/IReputationRegistryShim.d.ts +9 -0
- package/dist/app-registry/IReputationRegistryShim.d.ts.map +1 -0
- package/dist/app-registry/IReputationRegistryShim.js +9 -0
- package/dist/app-registry/IReputationRegistryShim.js.map +1 -0
- package/dist/app-registry/SimpleAppShim.d.ts +9 -0
- package/dist/app-registry/SimpleAppShim.d.ts.map +1 -0
- package/dist/app-registry/SimpleAppShim.js +9 -0
- package/dist/app-registry/SimpleAppShim.js.map +1 -0
- package/dist/base-registry/BaseRegistry.d.ts +32 -0
- package/dist/base-registry/BaseRegistry.d.ts.map +1 -0
- package/dist/base-registry/BaseRegistry.js +67 -0
- package/dist/base-registry/BaseRegistry.js.map +1 -0
- package/dist/base-registry/IEntitlementCheckerShim.d.ts +9 -0
- package/dist/base-registry/IEntitlementCheckerShim.d.ts.map +1 -0
- package/dist/base-registry/IEntitlementCheckerShim.js +9 -0
- package/dist/base-registry/IEntitlementCheckerShim.js.map +1 -0
- package/dist/base-registry/INodeOperatorShim.d.ts +9 -0
- package/dist/base-registry/INodeOperatorShim.d.ts.map +1 -0
- package/dist/base-registry/INodeOperatorShim.js +9 -0
- package/dist/base-registry/INodeOperatorShim.js.map +1 -0
- package/dist/base-registry/ISpaceDelegationShim.d.ts +9 -0
- package/dist/base-registry/ISpaceDelegationShim.d.ts.map +1 -0
- package/dist/base-registry/ISpaceDelegationShim.js +9 -0
- package/dist/base-registry/ISpaceDelegationShim.js.map +1 -0
- package/dist/base-registry/RewardsDistributionShim.d.ts +9 -0
- package/dist/base-registry/RewardsDistributionShim.d.ts.map +1 -0
- package/dist/base-registry/RewardsDistributionShim.js +9 -0
- package/dist/base-registry/RewardsDistributionShim.js.map +1 -0
- package/dist/cache/EntitlementCache.d.ts +25 -0
- package/dist/cache/EntitlementCache.d.ts.map +1 -0
- package/dist/cache/EntitlementCache.js +91 -0
- package/dist/cache/EntitlementCache.js.map +1 -0
- package/dist/cache/ICacheStorage.d.ts +44 -0
- package/dist/cache/ICacheStorage.d.ts.map +1 -0
- package/dist/cache/ICacheStorage.js +2 -0
- package/dist/cache/ICacheStorage.js.map +1 -0
- package/dist/cache/KVCacheStorage.d.ts +79 -0
- package/dist/cache/KVCacheStorage.d.ts.map +1 -0
- package/dist/cache/KVCacheStorage.js +227 -0
- package/dist/cache/KVCacheStorage.js.map +1 -0
- package/dist/cache/Keyable.d.ts +20 -0
- package/dist/cache/Keyable.d.ts.map +1 -0
- package/dist/cache/Keyable.js +62 -0
- package/dist/cache/Keyable.js.map +1 -0
- package/dist/cache/SimpleCache.d.ts +30 -0
- package/dist/cache/SimpleCache.d.ts.map +1 -0
- package/dist/cache/SimpleCache.js +84 -0
- package/dist/cache/SimpleCache.js.map +1 -0
- package/dist/cache/TTLCacheStorage.d.ts +19 -0
- package/dist/cache/TTLCacheStorage.d.ts.map +1 -0
- package/dist/cache/TTLCacheStorage.js +40 -0
- package/dist/cache/TTLCacheStorage.js.map +1 -0
- package/dist/chain.d.ts +89 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +48 -0
- package/dist/chain.js.map +1 -0
- package/dist/delegate-registry/DelegateRegistry.d.ts +3 -0
- package/dist/delegate-registry/DelegateRegistry.d.ts.map +1 -0
- package/dist/delegate-registry/DelegateRegistry.js +72 -0
- package/dist/delegate-registry/DelegateRegistry.js.map +1 -0
- package/dist/eip-712/EIP-712.d.ts +35 -0
- package/dist/eip-712/EIP-712.d.ts.map +1 -0
- package/dist/eip-712/EIP-712.js +57 -0
- package/dist/eip-712/EIP-712.js.map +1 -0
- package/dist/erc-721/IERC721AQueryableShim.d.ts +9 -0
- package/dist/erc-721/IERC721AQueryableShim.d.ts.map +1 -0
- package/dist/erc-721/IERC721AQueryableShim.js +9 -0
- package/dist/erc-721/IERC721AQueryableShim.js.map +1 -0
- package/dist/erc-721/IERC721AShim.d.ts +9 -0
- package/dist/erc-721/IERC721AShim.d.ts.map +1 -0
- package/dist/erc-721/IERC721AShim.js +9 -0
- package/dist/erc-721/IERC721AShim.js.map +1 -0
- package/dist/index.d.ts +96 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +96 -0
- package/dist/index.js.map +1 -0
- package/dist/platform-requirements/PlatformRequirements.d.ts +12 -0
- package/dist/platform-requirements/PlatformRequirements.d.ts.map +1 -0
- package/dist/platform-requirements/PlatformRequirements.js +18 -0
- package/dist/platform-requirements/PlatformRequirements.js.map +1 -0
- package/dist/pricing-modules/IPricingShim.d.ts +9 -0
- package/dist/pricing-modules/IPricingShim.d.ts.map +1 -0
- package/dist/pricing-modules/IPricingShim.js +9 -0
- package/dist/pricing-modules/IPricingShim.js.map +1 -0
- package/dist/pricing-modules/PricingModules.d.ts +13 -0
- package/dist/pricing-modules/PricingModules.d.ts.map +1 -0
- package/dist/pricing-modules/PricingModules.js +23 -0
- package/dist/pricing-modules/PricingModules.js.map +1 -0
- package/dist/pricing-modules/helpers.d.ts +16 -0
- package/dist/pricing-modules/helpers.d.ts.map +1 -0
- package/dist/pricing-modules/helpers.js +35 -0
- package/dist/pricing-modules/helpers.js.map +1 -0
- package/dist/readContractRetryer.d.ts +10 -0
- package/dist/readContractRetryer.d.ts.map +1 -0
- package/dist/readContractRetryer.js +68 -0
- package/dist/readContractRetryer.js.map +1 -0
- package/dist/river-registry/INodeRegistryShim.d.ts +9 -0
- package/dist/river-registry/INodeRegistryShim.d.ts.map +1 -0
- package/dist/river-registry/INodeRegistryShim.js +9 -0
- package/dist/river-registry/INodeRegistryShim.js.map +1 -0
- package/dist/river-registry/IOperatorRegistryShim.d.ts +9 -0
- package/dist/river-registry/IOperatorRegistryShim.d.ts.map +1 -0
- package/dist/river-registry/IOperatorRegistryShim.js +9 -0
- package/dist/river-registry/IOperatorRegistryShim.js.map +1 -0
- package/dist/river-registry/IStreamRegistryShim.d.ts +9 -0
- package/dist/river-registry/IStreamRegistryShim.d.ts.map +1 -0
- package/dist/river-registry/IStreamRegistryShim.js +9 -0
- package/dist/river-registry/IStreamRegistryShim.js.map +1 -0
- package/dist/river-registry/RiverRegistry.d.ts +18 -0
- package/dist/river-registry/RiverRegistry.d.ts.map +1 -0
- package/dist/river-registry/RiverRegistry.js +42 -0
- package/dist/river-registry/RiverRegistry.js.map +1 -0
- package/dist/river-registry/RiverRegistryFactory.d.ts +5 -0
- package/dist/river-registry/RiverRegistryFactory.d.ts.map +1 -0
- package/dist/river-registry/RiverRegistryFactory.js +5 -0
- package/dist/river-registry/RiverRegistryFactory.js.map +1 -0
- package/dist/space/IAppAccountShim.d.ts +9 -0
- package/dist/space/IAppAccountShim.d.ts.map +1 -0
- package/dist/space/IAppAccountShim.js +9 -0
- package/dist/space/IAppAccountShim.js.map +1 -0
- package/dist/space/IBanningShim.d.ts +9 -0
- package/dist/space/IBanningShim.d.ts.map +1 -0
- package/dist/space/IBanningShim.js +9 -0
- package/dist/space/IBanningShim.js.map +1 -0
- package/dist/space/IChannelShim.d.ts +9 -0
- package/dist/space/IChannelShim.d.ts.map +1 -0
- package/dist/space/IChannelShim.js +9 -0
- package/dist/space/IChannelShim.js.map +1 -0
- package/dist/space/IEntitlementDataQueryableShim.d.ts +11 -0
- package/dist/space/IEntitlementDataQueryableShim.d.ts.map +1 -0
- package/dist/space/IEntitlementDataQueryableShim.js +9 -0
- package/dist/space/IEntitlementDataQueryableShim.js.map +1 -0
- package/dist/space/IEntitlementsShim.d.ts +13 -0
- package/dist/space/IEntitlementsShim.d.ts.map +1 -0
- package/dist/space/IEntitlementsShim.js +19 -0
- package/dist/space/IEntitlementsShim.js.map +1 -0
- package/dist/space/IMembershipMetadataShim.d.ts +9 -0
- package/dist/space/IMembershipMetadataShim.d.ts.map +1 -0
- package/dist/space/IMembershipMetadataShim.js +9 -0
- package/dist/space/IMembershipMetadataShim.js.map +1 -0
- package/dist/space/IMembershipShim.d.ts +33 -0
- package/dist/space/IMembershipShim.d.ts.map +1 -0
- package/dist/space/IMembershipShim.js +139 -0
- package/dist/space/IMembershipShim.js.map +1 -0
- package/dist/space/IMulticallShim.d.ts +13 -0
- package/dist/space/IMulticallShim.d.ts.map +1 -0
- package/dist/space/IMulticallShim.js +15 -0
- package/dist/space/IMulticallShim.js.map +1 -0
- package/dist/space/IReviewShim.d.ts +64 -0
- package/dist/space/IReviewShim.d.ts.map +1 -0
- package/dist/space/IReviewShim.js +102 -0
- package/dist/space/IReviewShim.js.map +1 -0
- package/dist/space/IRolesShim.d.ts +10 -0
- package/dist/space/IRolesShim.d.ts.map +1 -0
- package/dist/space/IRolesShim.js +9 -0
- package/dist/space/IRolesShim.js.map +1 -0
- package/dist/space/ITippingShim.d.ts +39 -0
- package/dist/space/ITippingShim.d.ts.map +1 -0
- package/dist/space/ITippingShim.js +76 -0
- package/dist/space/ITippingShim.js.map +1 -0
- package/dist/space/ITreasuryShim.d.ts +9 -0
- package/dist/space/ITreasuryShim.d.ts.map +1 -0
- package/dist/space/ITreasuryShim.js +9 -0
- package/dist/space/ITreasuryShim.js.map +1 -0
- package/dist/space/OwnableFacetShim.d.ts +12 -0
- package/dist/space/OwnableFacetShim.d.ts.map +1 -0
- package/dist/space/OwnableFacetShim.js +19 -0
- package/dist/space/OwnableFacetShim.js.map +1 -0
- package/dist/space/Space.d.ts +107 -0
- package/dist/space/Space.d.ts.map +1 -0
- package/dist/space/Space.js +511 -0
- package/dist/space/Space.js.map +1 -0
- package/dist/space/TokenPausableFacetShim.d.ts +9 -0
- package/dist/space/TokenPausableFacetShim.d.ts.map +1 -0
- package/dist/space/TokenPausableFacetShim.js +9 -0
- package/dist/space/TokenPausableFacetShim.js.map +1 -0
- package/dist/space/entitlements/ConvertersEntitlements.d.ts +14 -0
- package/dist/space/entitlements/ConvertersEntitlements.d.ts.map +1 -0
- package/dist/space/entitlements/ConvertersEntitlements.js +193 -0
- package/dist/space/entitlements/ConvertersEntitlements.js.map +1 -0
- package/dist/space/entitlements/RuleBuilder.d.ts +83 -0
- package/dist/space/entitlements/RuleBuilder.d.ts.map +1 -0
- package/dist/space/entitlements/RuleBuilder.js +86 -0
- package/dist/space/entitlements/RuleBuilder.js.map +1 -0
- package/dist/space/entitlements/RuleEntitlementShim.d.ts +353 -0
- package/dist/space/entitlements/RuleEntitlementShim.d.ts.map +1 -0
- package/dist/space/entitlements/RuleEntitlementShim.js +40 -0
- package/dist/space/entitlements/RuleEntitlementShim.js.map +1 -0
- package/dist/space/entitlements/RuleEntitlementV2Shim.d.ts +353 -0
- package/dist/space/entitlements/RuleEntitlementV2Shim.d.ts.map +1 -0
- package/dist/space/entitlements/RuleEntitlementV2Shim.js +40 -0
- package/dist/space/entitlements/RuleEntitlementV2Shim.js.map +1 -0
- package/dist/space/entitlements/UserEntitlementShim.d.ts +13 -0
- package/dist/space/entitlements/UserEntitlementShim.d.ts.map +1 -0
- package/dist/space/entitlements/UserEntitlementShim.js +45 -0
- package/dist/space/entitlements/UserEntitlementShim.js.map +1 -0
- package/dist/space/entitlements/XChainConfig.d.ts +14 -0
- package/dist/space/entitlements/XChainConfig.d.ts.map +1 -0
- package/dist/space/entitlements/XChainConfig.js +70 -0
- package/dist/space/entitlements/XChainConfig.js.map +1 -0
- package/dist/space/entitlements/entitlement.d.ts +147 -0
- package/dist/space/entitlements/entitlement.d.ts.map +1 -0
- package/dist/space/entitlements/entitlement.js +940 -0
- package/dist/space/entitlements/entitlement.js.map +1 -0
- package/dist/space/entitlements/validateAndParseXChainConfig.d.ts +6 -0
- package/dist/space/entitlements/validateAndParseXChainConfig.d.ts.map +1 -0
- package/dist/space/entitlements/validateAndParseXChainConfig.js +34 -0
- package/dist/space/entitlements/validateAndParseXChainConfig.js.map +1 -0
- package/dist/space-dapp/SpaceDapp.d.ts +223 -0
- package/dist/space-dapp/SpaceDapp.d.ts.map +1 -0
- package/dist/space-dapp/SpaceDapp.js +1260 -0
- package/dist/space-dapp/SpaceDapp.js.map +1 -0
- package/dist/space-dapp/SpaceDappFactory.d.ts +5 -0
- package/dist/space-dapp/SpaceDappFactory.d.ts.map +1 -0
- package/dist/space-dapp/SpaceDappFactory.js +8 -0
- package/dist/space-dapp/SpaceDappFactory.js.map +1 -0
- package/dist/space-dapp/wrapTransaction.d.ts +4 -0
- package/dist/space-dapp/wrapTransaction.d.ts.map +1 -0
- package/dist/space-dapp/wrapTransaction.js +99 -0
- package/dist/space-dapp/wrapTransaction.js.map +1 -0
- package/dist/space-owner/GuardianFacetShim.d.ts +9 -0
- package/dist/space-owner/GuardianFacetShim.d.ts.map +1 -0
- package/dist/space-owner/GuardianFacetShim.js +9 -0
- package/dist/space-owner/GuardianFacetShim.js.map +1 -0
- package/dist/space-owner/SpaceOwner.d.ts +48 -0
- package/dist/space-owner/SpaceOwner.d.ts.map +1 -0
- package/dist/space-owner/SpaceOwner.js +81 -0
- package/dist/space-owner/SpaceOwner.js.map +1 -0
- package/dist/space-registrar/ICreateSpaceShim.d.ts +11 -0
- package/dist/space-registrar/ICreateSpaceShim.d.ts.map +1 -0
- package/dist/space-registrar/ICreateSpaceShim.js +9 -0
- package/dist/space-registrar/ICreateSpaceShim.js.map +1 -0
- package/dist/space-registrar/ILegacySpaceArchitectShim.d.ts +10 -0
- package/dist/space-registrar/ILegacySpaceArchitectShim.d.ts.map +1 -0
- package/dist/space-registrar/ILegacySpaceArchitectShim.js +9 -0
- package/dist/space-registrar/ILegacySpaceArchitectShim.js.map +1 -0
- package/dist/space-registrar/ISpaceArchitectShim.d.ts +10 -0
- package/dist/space-registrar/ISpaceArchitectShim.d.ts.map +1 -0
- package/dist/space-registrar/ISpaceArchitectShim.js +39 -0
- package/dist/space-registrar/ISpaceArchitectShim.js.map +1 -0
- package/dist/space-registrar/SpaceRegistrar.d.ts +27 -0
- package/dist/space-registrar/SpaceRegistrar.d.ts.map +1 -0
- package/dist/space-registrar/SpaceRegistrar.js +58 -0
- package/dist/space-registrar/SpaceRegistrar.js.map +1 -0
- package/dist/test-helpers/LocalhostWeb3Provider.d.ts +19 -0
- package/dist/test-helpers/LocalhostWeb3Provider.d.ts.map +1 -0
- package/dist/test-helpers/LocalhostWeb3Provider.js +80 -0
- package/dist/test-helpers/LocalhostWeb3Provider.js.map +1 -0
- package/dist/test-helpers/MockCrossChainEntitlement.d.ts +6 -0
- package/dist/test-helpers/MockCrossChainEntitlement.d.ts.map +1 -0
- package/dist/test-helpers/MockCrossChainEntitlement.js +104 -0
- package/dist/test-helpers/MockCrossChainEntitlement.js.map +1 -0
- package/dist/test-helpers/MockERC1155.d.ts +6 -0
- package/dist/test-helpers/MockERC1155.d.ts.map +1 -0
- package/dist/test-helpers/MockERC1155.js +518 -0
- package/dist/test-helpers/MockERC1155.js.map +1 -0
- package/dist/test-helpers/MockERC20.d.ts +6 -0
- package/dist/test-helpers/MockERC20.d.ts.map +1 -0
- package/dist/test-helpers/MockERC20.js +574 -0
- package/dist/test-helpers/MockERC20.js.map +1 -0
- package/dist/test-helpers/MockERC721A.d.ts +1563 -0
- package/dist/test-helpers/MockERC721A.d.ts.map +1 -0
- package/dist/test-helpers/MockERC721A.js +1913 -0
- package/dist/test-helpers/MockERC721A.js.map +1 -0
- package/dist/test-helpers/MockERC721AShim.d.ts +9 -0
- package/dist/test-helpers/MockERC721AShim.d.ts.map +1 -0
- package/dist/test-helpers/MockERC721AShim.js +9 -0
- package/dist/test-helpers/MockERC721AShim.js.map +1 -0
- package/dist/test-helpers/TestCrossChainEntitlement.d.ts +14 -0
- package/dist/test-helpers/TestCrossChainEntitlement.d.ts.map +1 -0
- package/dist/test-helpers/TestCrossChainEntitlement.js +99 -0
- package/dist/test-helpers/TestCrossChainEntitlement.js.map +1 -0
- package/dist/test-helpers/TestEthBalance.d.ts +72 -0
- package/dist/test-helpers/TestEthBalance.d.ts.map +1 -0
- package/dist/test-helpers/TestEthBalance.js +94 -0
- package/dist/test-helpers/TestEthBalance.js.map +1 -0
- package/dist/test-helpers/TestGatingERC1155.d.ts +17 -0
- package/dist/test-helpers/TestGatingERC1155.d.ts.map +1 -0
- package/dist/test-helpers/TestGatingERC1155.js +100 -0
- package/dist/test-helpers/TestGatingERC1155.js.map +1 -0
- package/dist/test-helpers/TestGatingERC20.d.ts +17 -0
- package/dist/test-helpers/TestGatingERC20.d.ts.map +1 -0
- package/dist/test-helpers/TestGatingERC20.js +149 -0
- package/dist/test-helpers/TestGatingERC20.js.map +1 -0
- package/dist/test-helpers/TestGatingNFT.d.ts +17 -0
- package/dist/test-helpers/TestGatingNFT.d.ts.map +1 -0
- package/dist/test-helpers/TestGatingNFT.js +137 -0
- package/dist/test-helpers/TestGatingNFT.js.map +1 -0
- package/dist/test-helpers/TestGatingUtils.d.ts +15 -0
- package/dist/test-helpers/TestGatingUtils.d.ts.map +1 -0
- package/dist/test-helpers/TestGatingUtils.js +112 -0
- package/dist/test-helpers/TestGatingUtils.js.map +1 -0
- package/dist/test-helpers/utils.d.ts +22 -0
- package/dist/test-helpers/utils.d.ts.map +1 -0
- package/dist/test-helpers/utils.js +30 -0
- package/dist/test-helpers/utils.js.map +1 -0
- package/dist/towns-token/TownsToken.d.ts +17 -0
- package/dist/towns-token/TownsToken.d.ts.map +1 -0
- package/dist/towns-token/TownsToken.js +33 -0
- package/dist/towns-token/TownsToken.js.map +1 -0
- package/dist/types/ContractTypes.d.ts +240 -0
- package/dist/types/ContractTypes.d.ts.map +1 -0
- package/dist/types/ContractTypes.js +65 -0
- package/dist/types/ContractTypes.js.map +1 -0
- package/dist/types/error-types.d.ts +7 -0
- package/dist/types/error-types.d.ts.map +1 -0
- package/dist/types/error-types.js +13 -0
- package/dist/types/error-types.js.map +1 -0
- package/dist/types/typechain.d.ts +4 -0
- package/dist/types/typechain.d.ts.map +1 -0
- package/dist/types/typechain.js +2 -0
- package/dist/types/typechain.js.map +1 -0
- package/dist/types/types.d.ts +29 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js +2 -0
- package/dist/types/types.js.map +1 -0
- package/dist/utils/ContractHelpers.d.ts +14 -0
- package/dist/utils/ContractHelpers.d.ts.map +1 -0
- package/dist/utils/ContractHelpers.js +54 -0
- package/dist/utils/ContractHelpers.js.map +1 -0
- package/dist/utils/Web3Constants.d.ts +6 -0
- package/dist/utils/Web3Constants.d.ts.map +1 -0
- package/dist/utils/Web3Constants.js +7 -0
- package/dist/utils/Web3Constants.js.map +1 -0
- package/dist/utils/ut.d.ts +46 -0
- package/dist/utils/ut.d.ts.map +1 -0
- package/dist/utils/ut.js +94 -0
- package/dist/utils/ut.js.map +1 -0
- package/dist/utils/web3Env.d.ts +36 -0
- package/dist/utils/web3Env.d.ts.map +1 -0
- package/dist/utils/web3Env.js +123 -0
- package/dist/utils/web3Env.js.map +1 -0
- package/dist/wallet-link/WalletLink.d.ts +58 -0
- package/dist/wallet-link/WalletLink.d.ts.map +1 -0
- package/dist/wallet-link/WalletLink.js +226 -0
- package/dist/wallet-link/WalletLink.js.map +1 -0
- package/dist/wallet-link/WalletLinkShim.d.ts +9 -0
- package/dist/wallet-link/WalletLinkShim.d.ts.map +1 -0
- package/dist/wallet-link/WalletLinkShim.js +9 -0
- package/dist/wallet-link/WalletLinkShim.js.map +1 -0
- package/package.json +50 -0
package/dist/utils/ut.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
export const ETH_ADDRESS = '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
|
|
3
|
+
export const EVERYONE_ADDRESS = '0x0000000000000000000000000000000000000001';
|
|
4
|
+
export const MOCK_ADDRESS = '0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef';
|
|
5
|
+
export const MOCK_ADDRESS_2 = '0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbee2';
|
|
6
|
+
export const MOCK_ADDRESS_3 = '0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbee3';
|
|
7
|
+
export const MOCK_ADDRESS_4 = '0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbee4';
|
|
8
|
+
export const MOCK_ADDRESS_5 = '0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbee5';
|
|
9
|
+
export class NoEntitledWalletError extends Error {
|
|
10
|
+
constructor() {
|
|
11
|
+
super('No entitled wallet found');
|
|
12
|
+
this.name = 'NoEntitledWalletError';
|
|
13
|
+
// Setting the prototype is necessary for instanceof to work correctly
|
|
14
|
+
// It ensures that instanceof NoEntitledWalletError returns true
|
|
15
|
+
// This is because TypeScript's class syntax doesn't set up the prototype chain correctly for custom errors
|
|
16
|
+
Object.setPrototypeOf(this, NoEntitledWalletError.prototype);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* throwIfRuntimeErrors is a helper function to process AggregateErrors emitted from Promise.any that may
|
|
20
|
+
* contain promises rejected with NoEntitledWalletErrors, which represent an entitlement check that evaluates
|
|
21
|
+
* to false, and not a true error condition. This method will filter out NoEntitledWalletErrors and throw an
|
|
22
|
+
* AggregateError with the remaining errors, if any exist. Otherwise, it will simply return undefined.
|
|
23
|
+
* @param error AggregateError
|
|
24
|
+
* @returns undefined
|
|
25
|
+
* @throws AggregateError
|
|
26
|
+
*/
|
|
27
|
+
static throwIfRuntimeErrors = (error) => {
|
|
28
|
+
const runtimeErrors = error.errors.filter((e) => !(e instanceof NoEntitledWalletError));
|
|
29
|
+
if (runtimeErrors.length > 0) {
|
|
30
|
+
throw new AggregateError(runtimeErrors);
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export function isEthersProvider(provider) {
|
|
36
|
+
return (typeof provider === 'object' &&
|
|
37
|
+
provider !== null &&
|
|
38
|
+
'getNetwork' in provider &&
|
|
39
|
+
typeof provider.getNetwork === 'function');
|
|
40
|
+
}
|
|
41
|
+
export function isPublicClient(provider) {
|
|
42
|
+
return (typeof provider === 'object' &&
|
|
43
|
+
provider !== null &&
|
|
44
|
+
'getNetwork' in provider &&
|
|
45
|
+
typeof provider.getNetwork !== 'function');
|
|
46
|
+
}
|
|
47
|
+
// River space stream ids are 64 characters long, and start with '10'
|
|
48
|
+
// incidentally this should also work if you just pass the space contract address with 0x prefix
|
|
49
|
+
export function SpaceAddressFromSpaceId(spaceId) {
|
|
50
|
+
return ethers.utils.getAddress(spaceId.slice(2, 42));
|
|
51
|
+
}
|
|
52
|
+
// River space stream ids are 64 characters long, and start with '10'
|
|
53
|
+
export function SpaceIdFromSpaceAddress(spaceAddress) {
|
|
54
|
+
return spaceAddress.toLowerCase().replace('0x', '10').padEnd(64, '0');
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Use this function in the default case of a exhaustive switch statement to ensure that all cases are handled.
|
|
58
|
+
* Always throws JSON RPC error.
|
|
59
|
+
* @param value Switch value
|
|
60
|
+
* @param message Error message
|
|
61
|
+
* @param code JSON RPC error code
|
|
62
|
+
* @param data Optional data to include in the error
|
|
63
|
+
*/
|
|
64
|
+
export function checkNever(value, message) {
|
|
65
|
+
throw new Error(message ?? `Unhandled switch value ${value}`);
|
|
66
|
+
}
|
|
67
|
+
export function parseChannelMetadataJSON(metadataStr) {
|
|
68
|
+
try {
|
|
69
|
+
const result = JSON.parse(metadataStr);
|
|
70
|
+
if (typeof result === 'object' &&
|
|
71
|
+
result !== null &&
|
|
72
|
+
'name' in result &&
|
|
73
|
+
'description' in result) {
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
/* empty */
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
name: metadataStr,
|
|
82
|
+
description: '',
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export function toPermissions(permissions) {
|
|
86
|
+
return permissions.map((p) => {
|
|
87
|
+
const perm = p;
|
|
88
|
+
return perm;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
export function stringifyChannelMetadataJSON({ name, description, }) {
|
|
92
|
+
return JSON.stringify({ name, description });
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=ut.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ut.js","sourceRoot":"","sources":["../../src/utils/ut.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Address } from '../types/ContractTypes';
|
|
2
|
+
import { SafeEnvOpts } from '@towns-labs/utils';
|
|
3
|
+
export interface BaseChainConfig {
|
|
4
|
+
chainId: number;
|
|
5
|
+
addresses: {
|
|
6
|
+
spaceFactory: Address;
|
|
7
|
+
spaceOwner: Address;
|
|
8
|
+
baseRegistry: Address;
|
|
9
|
+
riverAirdrop: Address | undefined;
|
|
10
|
+
swapRouter: Address | undefined;
|
|
11
|
+
appRegistry: Address;
|
|
12
|
+
accountModules?: Address | undefined;
|
|
13
|
+
subscriptionModule: Address | undefined;
|
|
14
|
+
utils: {
|
|
15
|
+
mockNFT: Address | undefined;
|
|
16
|
+
member: Address | undefined;
|
|
17
|
+
towns: Address | undefined;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface RiverChainConfig {
|
|
22
|
+
chainId: number;
|
|
23
|
+
addresses: {
|
|
24
|
+
riverRegistry: Address;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export interface Web3Deployment {
|
|
28
|
+
base: BaseChainConfig;
|
|
29
|
+
river: RiverChainConfig;
|
|
30
|
+
}
|
|
31
|
+
export declare function web3Env(opts?: SafeEnvOpts): {
|
|
32
|
+
riverEnv: string | undefined;
|
|
33
|
+
getDeploymentIds: () => string[];
|
|
34
|
+
getDeployment: (inRiverEnv?: string) => Web3Deployment;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=web3Env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web3Env.d.ts","sourceRoot":"","sources":["../../src/utils/web3Env.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAW,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE;QACP,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,OAAO,CAAA;QACnB,YAAY,EAAE,OAAO,CAAA;QACrB,YAAY,EAAE,OAAO,GAAG,SAAS,CAAA;QACjC,UAAU,EAAE,OAAO,GAAG,SAAS,CAAA;QAC/B,WAAW,EAAE,OAAO,CAAA;QACpB,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpC,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAA;QACvC,KAAK,EAAE;YACH,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;YAC5B,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;YAC3B,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;SAC7B,CAAA;KACJ,CAAA;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE;QACP,aAAa,EAAE,OAAO,CAAA;KACzB,CAAA;CACJ;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,eAAe,CAAA;IACrB,KAAK,EAAE,gBAAgB,CAAA;CAC1B;AAsDD,wBAAgB,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW;;4BAGT,MAAM,EAAE;iCAOD,MAAM,KAAG,cAAc;EAqC9D"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import DeploymentsJson from '@towns-labs/generated/config/deployments.json' with { type: 'json' };
|
|
2
|
+
import { safeEnv } from '@towns-labs/utils';
|
|
3
|
+
// we have multiple keys for the same value for backwards compatibility, priority is left to right
|
|
4
|
+
const envKey = {
|
|
5
|
+
RIVER_ENV: ['RIVER_ENV'],
|
|
6
|
+
BASE_CHAIN_ID: ['BASE_CHAIN_ID'],
|
|
7
|
+
BASE_ADDRESSES_ACCOUNT_MODULES: ['BASE_ADDRESSES_ACCOUNT_MODULES', 'ACCOUNT_MODULES_ADDRESS'],
|
|
8
|
+
BASE_ADDRESSES_APP_REGISTRY: ['BASE_ADDRESSES_APP_REGISTRY', 'BASE_REGISTRY_ADDRESS'],
|
|
9
|
+
BASE_ADDRESSES_SPACE_FACTORY: ['BASE_ADDRESSES_SPACE_FACTORY', 'SPACE_FACTORY_ADDRESS'],
|
|
10
|
+
BASE_ADDRESSES_SPACE_OWNER: ['BASE_ADDRESSES_SPACE_OWNER', 'SPACE_OWNER_ADDRESS'],
|
|
11
|
+
BASE_ADDRESSES_RIVER_AIRDROP: ['BASE_ADDRESSES_RIVER_AIRDROP', 'RIVER_AIRDROP_ADDRESS'],
|
|
12
|
+
BASE_ADDRESSES_SWAP_ROUTER: ['BASE_ADDRESSES_SWAP_ROUTER', 'SWAP_ROUTER_ADDRESS'],
|
|
13
|
+
BASE_ADDRESSES_SUBSCRIPTION_MODULE: ['BASE_ADDRESSES_SUBSCRIPTION_MODULE'],
|
|
14
|
+
BASE_ADDRESSES_UTILS_MOCK_NFT: ['BASE_ADDRESSES_UTILS_MOCK_NFT', 'MOCK_NFT_ADDRESS'],
|
|
15
|
+
BASE_ADDRESSES_UTILS_MEMBER: ['BASE_ADDRESSES_UTILS_MEMBER', 'MEMBER_ADDRESS'],
|
|
16
|
+
BASE_ADDRESSES_UTILS_TOWNS: ['BASE_ADDRESSES_UTILS_TOWNS', 'TOWNS_ADDRESS'],
|
|
17
|
+
RIVER_CHAIN_ID: ['RIVER_CHAIN_ID'],
|
|
18
|
+
RIVER_ADDRESSES_RIVER_REGISTRY: ['RIVER_ADDRESSES_RIVER_REGISTRY', 'RIVER_REGISTRY_ADDRESS'],
|
|
19
|
+
};
|
|
20
|
+
const LOCAL_DEV_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
|
|
21
|
+
const LOCAL_ENV_ALIASES = new Set(['local_dev', 'localhost']);
|
|
22
|
+
const LOCAL_DEV_DEPLOYMENT = {
|
|
23
|
+
base: {
|
|
24
|
+
chainId: 31337,
|
|
25
|
+
addresses: {
|
|
26
|
+
spaceFactory: LOCAL_DEV_ADDRESS,
|
|
27
|
+
spaceOwner: LOCAL_DEV_ADDRESS,
|
|
28
|
+
baseRegistry: LOCAL_DEV_ADDRESS,
|
|
29
|
+
riverAirdrop: LOCAL_DEV_ADDRESS,
|
|
30
|
+
swapRouter: LOCAL_DEV_ADDRESS,
|
|
31
|
+
appRegistry: LOCAL_DEV_ADDRESS,
|
|
32
|
+
accountModules: LOCAL_DEV_ADDRESS,
|
|
33
|
+
subscriptionModule: LOCAL_DEV_ADDRESS,
|
|
34
|
+
utils: {
|
|
35
|
+
mockNFT: LOCAL_DEV_ADDRESS,
|
|
36
|
+
member: LOCAL_DEV_ADDRESS,
|
|
37
|
+
towns: LOCAL_DEV_ADDRESS,
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
river: {
|
|
42
|
+
chainId: 31338,
|
|
43
|
+
addresses: {
|
|
44
|
+
riverRegistry: LOCAL_DEV_ADDRESS,
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
const normalizeRiverEnv = (value) => {
|
|
49
|
+
if (!value)
|
|
50
|
+
return value;
|
|
51
|
+
return LOCAL_ENV_ALIASES.has(value) ? 'local_dev' : value;
|
|
52
|
+
};
|
|
53
|
+
export function web3Env(opts) {
|
|
54
|
+
const globalRiverEnv = normalizeRiverEnv(safeEnv(envKey.RIVER_ENV, opts));
|
|
55
|
+
const getDeploymentIds = () => {
|
|
56
|
+
const staticDeploymentIds = Object.keys(DeploymentsJson);
|
|
57
|
+
return globalRiverEnv && !staticDeploymentIds.includes(globalRiverEnv)
|
|
58
|
+
? [globalRiverEnv, ...staticDeploymentIds]
|
|
59
|
+
: staticDeploymentIds;
|
|
60
|
+
};
|
|
61
|
+
const getDeployment = (inRiverEnv) => {
|
|
62
|
+
const riverEnv = normalizeRiverEnv(inRiverEnv ?? globalRiverEnv);
|
|
63
|
+
if (!riverEnv) {
|
|
64
|
+
throw new Error('RIVER_ENV is not defined');
|
|
65
|
+
}
|
|
66
|
+
const deployments = DeploymentsJson;
|
|
67
|
+
if (deployments[riverEnv]) {
|
|
68
|
+
return deployments[riverEnv];
|
|
69
|
+
}
|
|
70
|
+
if (riverEnv === 'local_dev') {
|
|
71
|
+
return LOCAL_DEV_DEPLOYMENT;
|
|
72
|
+
}
|
|
73
|
+
if (riverEnv !== globalRiverEnv) {
|
|
74
|
+
throw new Error(`Deployment ${riverEnv} not found in deployments.json keys: ${Object.keys(deployments).join(', ')}`);
|
|
75
|
+
}
|
|
76
|
+
const optionalEnv = (keys) => {
|
|
77
|
+
return safeEnv(keys, opts);
|
|
78
|
+
};
|
|
79
|
+
const requiredEnv = (keys) => {
|
|
80
|
+
const value = safeEnv(keys, opts);
|
|
81
|
+
if (!value) {
|
|
82
|
+
throw new Error(`One of ${keys.join(', ')}, ${keys.map((key) => `VITE_${key}`).join(', ')} is required to be set in process.env`);
|
|
83
|
+
}
|
|
84
|
+
return value;
|
|
85
|
+
};
|
|
86
|
+
return makeWeb3Deployment(optionalEnv, requiredEnv);
|
|
87
|
+
};
|
|
88
|
+
return {
|
|
89
|
+
riverEnv: globalRiverEnv,
|
|
90
|
+
getDeploymentIds,
|
|
91
|
+
getDeployment,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
function makeWeb3Deployment(optionalEnv, requiredEnv) {
|
|
95
|
+
// check for environment variable overrides, if not use the deployment from the json file
|
|
96
|
+
return {
|
|
97
|
+
base: {
|
|
98
|
+
chainId: parseInt(requiredEnv(envKey.BASE_CHAIN_ID)),
|
|
99
|
+
addresses: {
|
|
100
|
+
accountModules: optionalEnv(envKey.BASE_ADDRESSES_ACCOUNT_MODULES),
|
|
101
|
+
baseRegistry: requiredEnv(envKey.BASE_ADDRESSES_APP_REGISTRY),
|
|
102
|
+
spaceFactory: requiredEnv(envKey.BASE_ADDRESSES_SPACE_FACTORY),
|
|
103
|
+
spaceOwner: requiredEnv(envKey.BASE_ADDRESSES_SPACE_OWNER),
|
|
104
|
+
riverAirdrop: requiredEnv(envKey.BASE_ADDRESSES_RIVER_AIRDROP),
|
|
105
|
+
swapRouter: optionalEnv(envKey.BASE_ADDRESSES_SWAP_ROUTER),
|
|
106
|
+
appRegistry: requiredEnv(envKey.BASE_ADDRESSES_APP_REGISTRY),
|
|
107
|
+
subscriptionModule: requiredEnv(envKey.BASE_ADDRESSES_SUBSCRIPTION_MODULE),
|
|
108
|
+
utils: {
|
|
109
|
+
mockNFT: optionalEnv(envKey.BASE_ADDRESSES_UTILS_MOCK_NFT),
|
|
110
|
+
member: optionalEnv(envKey.BASE_ADDRESSES_UTILS_MEMBER),
|
|
111
|
+
towns: optionalEnv(envKey.BASE_ADDRESSES_UTILS_TOWNS),
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
river: {
|
|
116
|
+
chainId: parseInt(requiredEnv(envKey.RIVER_CHAIN_ID)),
|
|
117
|
+
addresses: {
|
|
118
|
+
riverRegistry: requiredEnv(envKey.RIVER_ADDRESSES_RIVER_REGISTRY),
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=web3Env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web3Env.js","sourceRoot":"","sources":["../../src/utils/web3Env.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { BigNumber, ContractTransaction, ethers } from 'ethers';
|
|
2
|
+
import { Address } from '../types/ContractTypes';
|
|
3
|
+
import { BaseChainConfig } from '../utils/web3Env';
|
|
4
|
+
import { IWalletLinkShim } from './WalletLinkShim';
|
|
5
|
+
import { OverrideExecution } from '../BaseContractShim';
|
|
6
|
+
export declare const INVALID_ADDRESS = "0x0000000000000000000000000000000000000000";
|
|
7
|
+
export declare class WalletLink {
|
|
8
|
+
private readonly LINKED_WALLET_MESSAGE;
|
|
9
|
+
readonly walletLinkShim: IWalletLinkShim;
|
|
10
|
+
private readonly eip712Domain;
|
|
11
|
+
address: Address;
|
|
12
|
+
constructor(config: BaseChainConfig, provider: ethers.providers.Provider);
|
|
13
|
+
isLinked(walletAddress: string): Promise<boolean>;
|
|
14
|
+
private assertNotLinked;
|
|
15
|
+
private assertLinked;
|
|
16
|
+
getDefaultWallet(rootKeyAddress: string): Promise<string>;
|
|
17
|
+
setDefaultWallet<T = ContractTransaction>(args: {
|
|
18
|
+
signer: ethers.Signer;
|
|
19
|
+
walletAddress: Address;
|
|
20
|
+
overrideExecution?: OverrideExecution<T>;
|
|
21
|
+
}): Promise<T extends undefined ? ContractTransaction : T>;
|
|
22
|
+
private generateRootKeySignatureForWallet;
|
|
23
|
+
private generateWalletSignatureForRootKey;
|
|
24
|
+
private generateRootKeySignatureForCallerData;
|
|
25
|
+
private generateLinkCallerData;
|
|
26
|
+
private generateLinkWalletData;
|
|
27
|
+
/**
|
|
28
|
+
* Link a wallet to the root key with the wallet as the caller
|
|
29
|
+
* @param rootKey
|
|
30
|
+
* @param wallet
|
|
31
|
+
*/
|
|
32
|
+
linkCallerToRootKey(rootKey: ethers.Signer, wallet: ethers.Signer, nonceIn?: BigNumber): Promise<ContractTransaction>;
|
|
33
|
+
/**
|
|
34
|
+
* Link a wallet to the root key with the root key as the caller
|
|
35
|
+
*
|
|
36
|
+
* @param wallet
|
|
37
|
+
* @param rootKey
|
|
38
|
+
* @returns
|
|
39
|
+
*/
|
|
40
|
+
linkWalletToRootKey(rootKey: ethers.Signer, wallet: ethers.Signer, nonceIn?: BigNumber): Promise<ContractTransaction>;
|
|
41
|
+
encodeLinkCallerToRootKey(rootKey: ethers.Signer, wallet: Address, nonceIn?: BigNumber): Promise<string>;
|
|
42
|
+
encodeLinkWalletToRootKey(rootKey: ethers.Signer, wallet: ethers.Signer, nonceIn?: BigNumber): Promise<string>;
|
|
43
|
+
parseError(error: any): Error;
|
|
44
|
+
getLinkedWallets(rootKey: string): Promise<string[]>;
|
|
45
|
+
getLinkedWalletsWithDelegations(rootKey: string): Promise<string[]>;
|
|
46
|
+
getRootKeyForWallet(wallet: string): Promise<string>;
|
|
47
|
+
checkIfLinked(rootKey: Address, wallet: Address): Promise<boolean>;
|
|
48
|
+
private generateRemoveLinkData;
|
|
49
|
+
removeLink(rootKey: ethers.Signer, walletAddress: string): Promise<ContractTransaction>;
|
|
50
|
+
/**
|
|
51
|
+
* Remove link from this caller to a root key
|
|
52
|
+
*/
|
|
53
|
+
removeCallerLink(caller: ethers.Signer): Promise<ContractTransaction>;
|
|
54
|
+
encodeRemoveLink(rootKey: ethers.Signer, walletAddress: string): Promise<string>;
|
|
55
|
+
private signTypedData;
|
|
56
|
+
getInterface(): import("@towns-labs/generated/dev/typings/WalletLink").WalletLinkInterface;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=WalletLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletLink.d.ts","sourceRoot":"","sources":["../../src/wallet-link/WalletLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAGhD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,eAAO,MAAM,eAAe,+CAA+C,CAAA;AAE3E,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA8B;IACpE,SAAgB,cAAc,EAAE,eAAe,CAAA;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAC9C,OAAO,EAAE,OAAO,CAAA;gBAEX,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;IAW3D,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAMhD,eAAe;YAUf,YAAY;IAOb,gBAAgB,CAAC,cAAc,EAAE,MAAM;IAIvC,gBAAgB,CAAC,CAAC,GAAG,mBAAmB,EAAE,IAAI,EAAE;QACzD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;QACrB,aAAa,EAAE,OAAO,CAAA;QACtB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;KAC3C;IAUD,OAAO,CAAC,iCAAiC;IAkBzC,OAAO,CAAC,iCAAiC;IAkBzC,OAAO,CAAC,qCAAqC;YAkB/B,sBAAsB;YA0BtB,sBAAsB;IAyCpC;;;;OAIG;IACU,mBAAmB,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,OAAO,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,mBAAmB,CAAC;IAY/B;;;;;;OAMG;IACU,mBAAmB,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,OAAO,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,mBAAmB,CAAC;IAalB,yBAAyB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EACtB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,MAAM,CAAC;IAcL,yBAAyB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,OAAO,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,MAAM,CAAC;IAeX,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK;IAIvB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIpD,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIzE,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9C,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAIjE,sBAAsB;IAcvB,UAAU,CACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EACtB,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,mBAAmB,CAAC;IAiB/B;;OAEG;IACU,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM;IAItC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM;YAiB7D,aAAa;IAcpB,YAAY;CAGtB"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { WalletAlreadyLinkedError, WalletNotLinkedError } from '../types/error-types';
|
|
2
|
+
import { IWalletLinkShim } from './WalletLinkShim';
|
|
3
|
+
import { createEip712LinkedWalletdData } from '../eip-712/EIP-712';
|
|
4
|
+
export const INVALID_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
5
|
+
export class WalletLink {
|
|
6
|
+
LINKED_WALLET_MESSAGE = 'Link your external wallet';
|
|
7
|
+
walletLinkShim;
|
|
8
|
+
eip712Domain;
|
|
9
|
+
address;
|
|
10
|
+
constructor(config, provider) {
|
|
11
|
+
this.walletLinkShim = new IWalletLinkShim(config.addresses.spaceFactory, provider);
|
|
12
|
+
this.address = config.addresses.spaceFactory;
|
|
13
|
+
this.eip712Domain = {
|
|
14
|
+
name: 'SpaceFactory',
|
|
15
|
+
version: '1',
|
|
16
|
+
chainId: config.chainId,
|
|
17
|
+
verifyingContract: config.addresses.spaceFactory,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
async isLinked(walletAddress) {
|
|
21
|
+
const rootKeyAddress = await this.walletLinkShim.read.getRootKeyForWallet(walletAddress);
|
|
22
|
+
return rootKeyAddress !== INVALID_ADDRESS;
|
|
23
|
+
}
|
|
24
|
+
async assertNotLinked(wallet) {
|
|
25
|
+
const walletAddress = typeof wallet === 'string' ? wallet : await wallet.getAddress();
|
|
26
|
+
if (await this.isLinked(walletAddress)) {
|
|
27
|
+
throw new WalletAlreadyLinkedError();
|
|
28
|
+
}
|
|
29
|
+
return { walletAddress };
|
|
30
|
+
}
|
|
31
|
+
async assertLinked(walletAddress) {
|
|
32
|
+
if (!(await this.isLinked(walletAddress))) {
|
|
33
|
+
throw new WalletNotLinkedError();
|
|
34
|
+
}
|
|
35
|
+
return { walletAddress };
|
|
36
|
+
}
|
|
37
|
+
async getDefaultWallet(rootKeyAddress) {
|
|
38
|
+
return this.walletLinkShim.read.getDefaultWallet(rootKeyAddress);
|
|
39
|
+
}
|
|
40
|
+
async setDefaultWallet(args) {
|
|
41
|
+
const { signer, walletAddress, overrideExecution } = args;
|
|
42
|
+
return this.walletLinkShim.executeCall({
|
|
43
|
+
signer,
|
|
44
|
+
functionName: 'setDefaultWallet',
|
|
45
|
+
args: [walletAddress],
|
|
46
|
+
overrideExecution,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
generateRootKeySignatureForWallet({ rootKey, walletAddress, rootKeyNonce, }) {
|
|
50
|
+
const { domain, types, value } = createEip712LinkedWalletdData({
|
|
51
|
+
domain: this.eip712Domain,
|
|
52
|
+
message: this.LINKED_WALLET_MESSAGE,
|
|
53
|
+
nonce: rootKeyNonce,
|
|
54
|
+
userID: walletAddress,
|
|
55
|
+
});
|
|
56
|
+
return this.signTypedData(rootKey, domain, types, value);
|
|
57
|
+
}
|
|
58
|
+
generateWalletSignatureForRootKey({ wallet, rootKeyAddress, nonce: rootKeyNonce, }) {
|
|
59
|
+
const { domain, types, value } = createEip712LinkedWalletdData({
|
|
60
|
+
domain: this.eip712Domain,
|
|
61
|
+
message: this.LINKED_WALLET_MESSAGE,
|
|
62
|
+
nonce: rootKeyNonce,
|
|
63
|
+
userID: rootKeyAddress,
|
|
64
|
+
});
|
|
65
|
+
return this.signTypedData(wallet, domain, types, value);
|
|
66
|
+
}
|
|
67
|
+
generateRootKeySignatureForCallerData({ rootKey, walletAddress, rootKeyNonce, }) {
|
|
68
|
+
const { domain, types, value } = createEip712LinkedWalletdData({
|
|
69
|
+
domain: this.eip712Domain,
|
|
70
|
+
message: this.LINKED_WALLET_MESSAGE,
|
|
71
|
+
nonce: rootKeyNonce,
|
|
72
|
+
userID: walletAddress,
|
|
73
|
+
});
|
|
74
|
+
return this.signTypedData(rootKey, domain, types, value);
|
|
75
|
+
}
|
|
76
|
+
async generateLinkCallerData(message, rootKey, wallet, nonceIn) {
|
|
77
|
+
const { walletAddress } = await this.assertNotLinked(wallet);
|
|
78
|
+
const rootKeyAddress = await rootKey.getAddress();
|
|
79
|
+
const nonce = nonceIn ?? (await this.walletLinkShim.read.getLatestNonceForRootKey(rootKeyAddress));
|
|
80
|
+
const rootKeySignature = await this.generateRootKeySignatureForCallerData({
|
|
81
|
+
rootKey,
|
|
82
|
+
walletAddress: walletAddress,
|
|
83
|
+
rootKeyNonce: nonce,
|
|
84
|
+
});
|
|
85
|
+
const rootKeyData = {
|
|
86
|
+
addr: rootKeyAddress,
|
|
87
|
+
signature: rootKeySignature,
|
|
88
|
+
message,
|
|
89
|
+
};
|
|
90
|
+
return { rootKeyData, nonce };
|
|
91
|
+
}
|
|
92
|
+
async generateLinkWalletData(message, rootKey, wallet, nonceIn) {
|
|
93
|
+
const { walletAddress } = await this.assertNotLinked(wallet);
|
|
94
|
+
const rootKeyAddress = await rootKey.getAddress();
|
|
95
|
+
const nonce = nonceIn ?? (await this.walletLinkShim.read.getLatestNonceForRootKey(rootKeyAddress));
|
|
96
|
+
// sign root key with new wallet address
|
|
97
|
+
const rootKeySignature = await this.generateRootKeySignatureForWallet({
|
|
98
|
+
rootKey,
|
|
99
|
+
walletAddress: walletAddress,
|
|
100
|
+
rootKeyNonce: nonce,
|
|
101
|
+
});
|
|
102
|
+
// sign new wallet with root key address
|
|
103
|
+
const walletSignature = await this.generateWalletSignatureForRootKey({
|
|
104
|
+
wallet,
|
|
105
|
+
rootKeyAddress: rootKeyAddress,
|
|
106
|
+
nonce,
|
|
107
|
+
});
|
|
108
|
+
const rootKeyData = {
|
|
109
|
+
addr: rootKeyAddress,
|
|
110
|
+
signature: rootKeySignature,
|
|
111
|
+
message,
|
|
112
|
+
};
|
|
113
|
+
const walletData = {
|
|
114
|
+
addr: walletAddress,
|
|
115
|
+
signature: walletSignature,
|
|
116
|
+
message,
|
|
117
|
+
};
|
|
118
|
+
return { rootKeyData, walletData, nonce };
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Link a wallet to the root key with the wallet as the caller
|
|
122
|
+
* @param rootKey
|
|
123
|
+
* @param wallet
|
|
124
|
+
*/
|
|
125
|
+
async linkCallerToRootKey(rootKey, wallet, nonceIn) {
|
|
126
|
+
const { rootKeyData, nonce } = await this.generateLinkCallerData(this.LINKED_WALLET_MESSAGE, rootKey, wallet, nonceIn);
|
|
127
|
+
// msg.sender = new wallet
|
|
128
|
+
return this.walletLinkShim.write(wallet).linkCallerToRootKey(rootKeyData, nonce);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Link a wallet to the root key with the root key as the caller
|
|
132
|
+
*
|
|
133
|
+
* @param wallet
|
|
134
|
+
* @param rootKey
|
|
135
|
+
* @returns
|
|
136
|
+
*/
|
|
137
|
+
async linkWalletToRootKey(rootKey, wallet, nonceIn) {
|
|
138
|
+
const { walletData, rootKeyData, nonce } = await this.generateLinkWalletData(this.LINKED_WALLET_MESSAGE, rootKey, wallet, nonceIn);
|
|
139
|
+
// msg.sender = root key
|
|
140
|
+
return this.walletLinkShim
|
|
141
|
+
.write(rootKey)
|
|
142
|
+
.linkWalletToRootKey(walletData, rootKeyData, nonce);
|
|
143
|
+
}
|
|
144
|
+
async encodeLinkCallerToRootKey(rootKey, wallet, nonceIn) {
|
|
145
|
+
const { rootKeyData, nonce } = await this.generateLinkCallerData(this.LINKED_WALLET_MESSAGE, rootKey, wallet, nonceIn);
|
|
146
|
+
return this.walletLinkShim.interface.encodeFunctionData('linkCallerToRootKey', [
|
|
147
|
+
rootKeyData,
|
|
148
|
+
nonce,
|
|
149
|
+
]);
|
|
150
|
+
}
|
|
151
|
+
async encodeLinkWalletToRootKey(rootKey, wallet, nonceIn) {
|
|
152
|
+
const { walletData, rootKeyData, nonce } = await this.generateLinkWalletData(this.LINKED_WALLET_MESSAGE, rootKey, wallet, nonceIn);
|
|
153
|
+
return this.walletLinkShim.interface.encodeFunctionData('linkWalletToRootKey', [
|
|
154
|
+
walletData,
|
|
155
|
+
rootKeyData,
|
|
156
|
+
nonce,
|
|
157
|
+
]);
|
|
158
|
+
}
|
|
159
|
+
parseError(error) {
|
|
160
|
+
return this.walletLinkShim.parseError(error);
|
|
161
|
+
}
|
|
162
|
+
async getLinkedWallets(rootKey) {
|
|
163
|
+
return this.walletLinkShim.read.getWalletsByRootKey(rootKey);
|
|
164
|
+
}
|
|
165
|
+
async getLinkedWalletsWithDelegations(rootKey) {
|
|
166
|
+
return this.walletLinkShim.read.getWalletsByRootKey(rootKey);
|
|
167
|
+
}
|
|
168
|
+
getRootKeyForWallet(wallet) {
|
|
169
|
+
return this.walletLinkShim.read.getRootKeyForWallet(wallet);
|
|
170
|
+
}
|
|
171
|
+
async checkIfLinked(rootKey, wallet) {
|
|
172
|
+
return this.walletLinkShim.read.checkIfLinked(rootKey, wallet);
|
|
173
|
+
}
|
|
174
|
+
async generateRemoveLinkData(rootKey, walletAddress) {
|
|
175
|
+
await this.assertLinked(walletAddress);
|
|
176
|
+
const rootKeyAddress = await rootKey.getAddress();
|
|
177
|
+
const nonce = await this.walletLinkShim.read.getLatestNonceForRootKey(rootKeyAddress);
|
|
178
|
+
const { domain, types, value } = createEip712LinkedWalletdData({
|
|
179
|
+
domain: this.eip712Domain,
|
|
180
|
+
message: this.LINKED_WALLET_MESSAGE,
|
|
181
|
+
nonce,
|
|
182
|
+
userID: walletAddress,
|
|
183
|
+
});
|
|
184
|
+
const rootKeySignature = await this.signTypedData(rootKey, domain, types, value);
|
|
185
|
+
return { rootKeyAddress, rootKeySignature, nonce };
|
|
186
|
+
}
|
|
187
|
+
async removeLink(rootKey, walletAddress) {
|
|
188
|
+
const { rootKeyAddress, rootKeySignature, nonce } = await this.generateRemoveLinkData(rootKey, walletAddress);
|
|
189
|
+
return await this.walletLinkShim.write(rootKey).removeLink(walletAddress, {
|
|
190
|
+
addr: rootKeyAddress,
|
|
191
|
+
signature: rootKeySignature,
|
|
192
|
+
message: this.LINKED_WALLET_MESSAGE,
|
|
193
|
+
}, nonce);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Remove link from this caller to a root key
|
|
197
|
+
*/
|
|
198
|
+
async removeCallerLink(caller) {
|
|
199
|
+
return this.walletLinkShim.write(caller).removeCallerLink();
|
|
200
|
+
}
|
|
201
|
+
async encodeRemoveLink(rootKey, walletAddress) {
|
|
202
|
+
const { rootKeyAddress, rootKeySignature, nonce } = await this.generateRemoveLinkData(rootKey, walletAddress);
|
|
203
|
+
return this.walletLinkShim.interface.encodeFunctionData('removeLink', [
|
|
204
|
+
walletAddress,
|
|
205
|
+
{
|
|
206
|
+
addr: rootKeyAddress,
|
|
207
|
+
signature: rootKeySignature,
|
|
208
|
+
message: this.LINKED_WALLET_MESSAGE,
|
|
209
|
+
},
|
|
210
|
+
nonce,
|
|
211
|
+
]);
|
|
212
|
+
}
|
|
213
|
+
async signTypedData(signer, domain, types, value) {
|
|
214
|
+
if ('_signTypedData' in signer && typeof signer._signTypedData === 'function') {
|
|
215
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
216
|
+
return (await signer._signTypedData(domain, types, value));
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
throw new Error('wallet does not have the function to sign typed data');
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
getInterface() {
|
|
223
|
+
return this.walletLinkShim.interface;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=WalletLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletLink.js","sourceRoot":"","sources":["../../src/wallet-link/WalletLink.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { BaseContractShim } from '../BaseContractShim';
|
|
3
|
+
import { WalletLink__factory } from '@towns-labs/generated/dev/typings/factories/WalletLink__factory';
|
|
4
|
+
declare const connect: typeof WalletLink__factory.connect;
|
|
5
|
+
export declare class IWalletLinkShim extends BaseContractShim<typeof connect> {
|
|
6
|
+
constructor(address: string, provider: ethers.providers.Provider);
|
|
7
|
+
}
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=WalletLinkShim.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletLinkShim.d.ts","sourceRoot":"","sources":["../../src/wallet-link/WalletLinkShim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iEAAiE,CAAA;AAErG,QAAA,MAAa,OAAO,oCAAwB,CAAA;AAE5C,qBAAa,eAAgB,SAAQ,gBAAgB,CAAC,OAAO,OAAO,CAAC;gBACrD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;CAGnE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseContractShim } from '../BaseContractShim';
|
|
2
|
+
import { WalletLink__factory } from '@towns-labs/generated/dev/typings/factories/WalletLink__factory';
|
|
3
|
+
const { abi, connect } = WalletLink__factory;
|
|
4
|
+
export class IWalletLinkShim extends BaseContractShim {
|
|
5
|
+
constructor(address, provider) {
|
|
6
|
+
super(address, provider, connect, abi);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=WalletLinkShim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletLinkShim.js","sourceRoot":"","sources":["../../src/wallet-link/WalletLinkShim.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iEAAiE,CAAA;AAErG,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAA;AAE5C,MAAM,OAAO,eAAgB,SAAQ,gBAAgC;IACjE,YAAY,OAAe,EAAE,QAAmC;QAC5D,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;IAC1C,CAAC;CACJ"}
|