@towns-labs/web3 3.2.0 → 3.3.0
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/dist/cache/KVCacheStorage.d.ts +3 -3
- package/dist/cache/KVCacheStorage.d.ts.map +1 -1
- package/dist/cache/KVCacheStorage.js +10 -103
- package/dist/cache/KVCacheStorage.js.map +1 -1
- package/dist/cache/Keyable.d.ts +2 -3
- package/dist/cache/Keyable.d.ts.map +1 -1
- package/dist/cache/Keyable.js +1 -2
- package/dist/cache/Keyable.js.map +1 -1
- package/dist/eip-712/EIP-712.d.ts +16 -6
- package/dist/eip-712/EIP-712.d.ts.map +1 -1
- package/dist/eip-712/EIP-712.js +20 -8
- package/dist/eip-712/EIP-712.js.map +1 -1
- package/dist/index.d.ts +2 -77
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -77
- package/dist/index.js.map +1 -1
- package/dist/test-helpers/MockERC1155.d.ts +1 -1
- package/dist/test-helpers/MockERC1155.d.ts.map +1 -1
- package/dist/test-helpers/MockERC20.d.ts +1 -1
- package/dist/test-helpers/MockERC20.d.ts.map +1 -1
- package/dist/types/ContractTypes.d.ts +0 -170
- package/dist/types/ContractTypes.d.ts.map +1 -1
- package/dist/types/ContractTypes.js +0 -32
- package/dist/types/ContractTypes.js.map +1 -1
- package/dist/utils/ut.d.ts +1 -4
- package/dist/utils/ut.d.ts.map +1 -1
- package/dist/utils/ut.js +2 -14
- package/dist/utils/ut.js.map +1 -1
- package/dist/utils/web3Env.js +1 -1
- package/dist/utils/web3Env.js.map +1 -1
- package/dist/utils/xchain.d.ts +21 -0
- package/dist/utils/xchain.d.ts.map +1 -0
- package/dist/{space/entitlements/XChainConfig.js → utils/xchain.js} +45 -29
- package/dist/utils/xchain.js.map +1 -0
- package/dist/web3Types.d.ts +33 -0
- package/dist/web3Types.d.ts.map +1 -0
- package/dist/web3Types.js +89 -0
- package/dist/web3Types.js.map +1 -0
- package/package.json +3 -5
- package/dist/BaseContractShim.d.ts +0 -57
- package/dist/BaseContractShim.d.ts.map +0 -1
- package/dist/BaseContractShim.js +0 -224
- package/dist/BaseContractShim.js.map +0 -1
- package/dist/airdrop/IDropFacetShim.d.ts +0 -9
- package/dist/airdrop/IDropFacetShim.d.ts.map +0 -1
- package/dist/airdrop/IDropFacetShim.js +0 -9
- package/dist/airdrop/IDropFacetShim.js.map +0 -1
- package/dist/airdrop/IRiverPointsShim.d.ts +0 -9
- package/dist/airdrop/IRiverPointsShim.d.ts.map +0 -1
- package/dist/airdrop/IRiverPointsShim.js +0 -9
- package/dist/airdrop/IRiverPointsShim.js.map +0 -1
- package/dist/airdrop/RiverAirdropDapp.d.ts +0 -16
- package/dist/airdrop/RiverAirdropDapp.d.ts.map +0 -1
- package/dist/airdrop/RiverAirdropDapp.js +0 -30
- package/dist/airdrop/RiverAirdropDapp.js.map +0 -1
- package/dist/app-registry/AppRegistryDapp.d.ts +0 -68
- package/dist/app-registry/AppRegistryDapp.d.ts.map +0 -1
- package/dist/app-registry/AppRegistryDapp.js +0 -182
- package/dist/app-registry/AppRegistryDapp.js.map +0 -1
- package/dist/app-registry/IAppFactoryShim.d.ts +0 -9
- package/dist/app-registry/IAppFactoryShim.d.ts.map +0 -1
- package/dist/app-registry/IAppFactoryShim.js +0 -9
- package/dist/app-registry/IAppFactoryShim.js.map +0 -1
- package/dist/app-registry/IAppInstallerShim.d.ts +0 -9
- package/dist/app-registry/IAppInstallerShim.d.ts.map +0 -1
- package/dist/app-registry/IAppInstallerShim.js +0 -9
- package/dist/app-registry/IAppInstallerShim.js.map +0 -1
- package/dist/app-registry/IAppRegistryShim.d.ts +0 -9
- package/dist/app-registry/IAppRegistryShim.d.ts.map +0 -1
- package/dist/app-registry/IAppRegistryShim.js +0 -9
- package/dist/app-registry/IAppRegistryShim.js.map +0 -1
- package/dist/app-registry/IIdentityRegistryShim.d.ts +0 -9
- package/dist/app-registry/IIdentityRegistryShim.d.ts.map +0 -1
- package/dist/app-registry/IIdentityRegistryShim.js +0 -9
- package/dist/app-registry/IIdentityRegistryShim.js.map +0 -1
- package/dist/app-registry/IReputationRegistryShim.d.ts +0 -9
- package/dist/app-registry/IReputationRegistryShim.d.ts.map +0 -1
- package/dist/app-registry/IReputationRegistryShim.js +0 -9
- package/dist/app-registry/IReputationRegistryShim.js.map +0 -1
- package/dist/app-registry/SimpleAppShim.d.ts +0 -9
- package/dist/app-registry/SimpleAppShim.d.ts.map +0 -1
- package/dist/app-registry/SimpleAppShim.js +0 -9
- package/dist/app-registry/SimpleAppShim.js.map +0 -1
- package/dist/base-registry/BaseRegistry.d.ts +0 -32
- package/dist/base-registry/BaseRegistry.d.ts.map +0 -1
- package/dist/base-registry/BaseRegistry.js +0 -67
- package/dist/base-registry/BaseRegistry.js.map +0 -1
- package/dist/base-registry/IEntitlementCheckerShim.d.ts +0 -9
- package/dist/base-registry/IEntitlementCheckerShim.d.ts.map +0 -1
- package/dist/base-registry/IEntitlementCheckerShim.js +0 -9
- package/dist/base-registry/IEntitlementCheckerShim.js.map +0 -1
- package/dist/base-registry/INodeOperatorShim.d.ts +0 -9
- package/dist/base-registry/INodeOperatorShim.d.ts.map +0 -1
- package/dist/base-registry/INodeOperatorShim.js +0 -9
- package/dist/base-registry/INodeOperatorShim.js.map +0 -1
- package/dist/base-registry/ISpaceDelegationShim.d.ts +0 -9
- package/dist/base-registry/ISpaceDelegationShim.d.ts.map +0 -1
- package/dist/base-registry/ISpaceDelegationShim.js +0 -9
- package/dist/base-registry/ISpaceDelegationShim.js.map +0 -1
- package/dist/base-registry/RewardsDistributionShim.d.ts +0 -9
- package/dist/base-registry/RewardsDistributionShim.d.ts.map +0 -1
- package/dist/base-registry/RewardsDistributionShim.js +0 -9
- package/dist/base-registry/RewardsDistributionShim.js.map +0 -1
- package/dist/delegate-registry/DelegateRegistry.d.ts +0 -3
- package/dist/delegate-registry/DelegateRegistry.d.ts.map +0 -1
- package/dist/delegate-registry/DelegateRegistry.js +0 -72
- package/dist/delegate-registry/DelegateRegistry.js.map +0 -1
- package/dist/erc-721/IERC721AQueryableShim.d.ts +0 -9
- package/dist/erc-721/IERC721AQueryableShim.d.ts.map +0 -1
- package/dist/erc-721/IERC721AQueryableShim.js +0 -9
- package/dist/erc-721/IERC721AQueryableShim.js.map +0 -1
- package/dist/erc-721/IERC721AShim.d.ts +0 -9
- package/dist/erc-721/IERC721AShim.d.ts.map +0 -1
- package/dist/erc-721/IERC721AShim.js +0 -9
- package/dist/erc-721/IERC721AShim.js.map +0 -1
- package/dist/platform-requirements/PlatformRequirements.d.ts +0 -12
- package/dist/platform-requirements/PlatformRequirements.d.ts.map +0 -1
- package/dist/platform-requirements/PlatformRequirements.js +0 -18
- package/dist/platform-requirements/PlatformRequirements.js.map +0 -1
- package/dist/pricing-modules/IPricingShim.d.ts +0 -9
- package/dist/pricing-modules/IPricingShim.d.ts.map +0 -1
- package/dist/pricing-modules/IPricingShim.js +0 -9
- package/dist/pricing-modules/IPricingShim.js.map +0 -1
- package/dist/pricing-modules/PricingModules.d.ts +0 -13
- package/dist/pricing-modules/PricingModules.d.ts.map +0 -1
- package/dist/pricing-modules/PricingModules.js +0 -23
- package/dist/pricing-modules/PricingModules.js.map +0 -1
- package/dist/pricing-modules/helpers.d.ts +0 -16
- package/dist/pricing-modules/helpers.d.ts.map +0 -1
- package/dist/pricing-modules/helpers.js +0 -35
- package/dist/pricing-modules/helpers.js.map +0 -1
- package/dist/readContractRetryer.d.ts +0 -10
- package/dist/readContractRetryer.d.ts.map +0 -1
- package/dist/readContractRetryer.js +0 -68
- package/dist/readContractRetryer.js.map +0 -1
- package/dist/river-registry/IOperatorRegistryShim.d.ts +0 -9
- package/dist/river-registry/IOperatorRegistryShim.d.ts.map +0 -1
- package/dist/river-registry/IOperatorRegistryShim.js +0 -9
- package/dist/river-registry/IOperatorRegistryShim.js.map +0 -1
- package/dist/river-registry/IStreamRegistryShim.d.ts +0 -9
- package/dist/river-registry/IStreamRegistryShim.d.ts.map +0 -1
- package/dist/river-registry/IStreamRegistryShim.js +0 -9
- package/dist/river-registry/IStreamRegistryShim.js.map +0 -1
- package/dist/river-registry/RiverRegistry.d.ts +0 -18
- package/dist/river-registry/RiverRegistry.d.ts.map +0 -1
- package/dist/river-registry/RiverRegistry.js +0 -42
- package/dist/river-registry/RiverRegistry.js.map +0 -1
- package/dist/river-registry/RiverRegistryFactory.d.ts +0 -5
- package/dist/river-registry/RiverRegistryFactory.d.ts.map +0 -1
- package/dist/river-registry/RiverRegistryFactory.js +0 -5
- package/dist/river-registry/RiverRegistryFactory.js.map +0 -1
- package/dist/space/IAppAccountShim.d.ts +0 -9
- package/dist/space/IAppAccountShim.d.ts.map +0 -1
- package/dist/space/IAppAccountShim.js +0 -9
- package/dist/space/IAppAccountShim.js.map +0 -1
- package/dist/space/IBanningShim.d.ts +0 -9
- package/dist/space/IBanningShim.d.ts.map +0 -1
- package/dist/space/IBanningShim.js +0 -9
- package/dist/space/IBanningShim.js.map +0 -1
- package/dist/space/IChannelShim.d.ts +0 -9
- package/dist/space/IChannelShim.d.ts.map +0 -1
- package/dist/space/IChannelShim.js +0 -9
- package/dist/space/IChannelShim.js.map +0 -1
- package/dist/space/IEntitlementDataQueryableShim.d.ts +0 -11
- package/dist/space/IEntitlementDataQueryableShim.d.ts.map +0 -1
- package/dist/space/IEntitlementDataQueryableShim.js +0 -9
- package/dist/space/IEntitlementDataQueryableShim.js.map +0 -1
- package/dist/space/IEntitlementsShim.d.ts +0 -13
- package/dist/space/IEntitlementsShim.d.ts.map +0 -1
- package/dist/space/IEntitlementsShim.js +0 -19
- package/dist/space/IEntitlementsShim.js.map +0 -1
- package/dist/space/IMembershipMetadataShim.d.ts +0 -9
- package/dist/space/IMembershipMetadataShim.d.ts.map +0 -1
- package/dist/space/IMembershipMetadataShim.js +0 -9
- package/dist/space/IMembershipMetadataShim.js.map +0 -1
- package/dist/space/IMembershipShim.d.ts +0 -33
- package/dist/space/IMembershipShim.d.ts.map +0 -1
- package/dist/space/IMembershipShim.js +0 -139
- package/dist/space/IMembershipShim.js.map +0 -1
- package/dist/space/IMulticallShim.d.ts +0 -13
- package/dist/space/IMulticallShim.d.ts.map +0 -1
- package/dist/space/IMulticallShim.js +0 -15
- package/dist/space/IMulticallShim.js.map +0 -1
- package/dist/space/IReviewShim.d.ts +0 -64
- package/dist/space/IReviewShim.d.ts.map +0 -1
- package/dist/space/IReviewShim.js +0 -102
- package/dist/space/IReviewShim.js.map +0 -1
- package/dist/space/IRolesShim.d.ts +0 -10
- package/dist/space/IRolesShim.d.ts.map +0 -1
- package/dist/space/IRolesShim.js +0 -9
- package/dist/space/IRolesShim.js.map +0 -1
- package/dist/space/ITippingShim.d.ts +0 -39
- package/dist/space/ITippingShim.d.ts.map +0 -1
- package/dist/space/ITippingShim.js +0 -76
- package/dist/space/ITippingShim.js.map +0 -1
- package/dist/space/ITreasuryShim.d.ts +0 -9
- package/dist/space/ITreasuryShim.d.ts.map +0 -1
- package/dist/space/ITreasuryShim.js +0 -9
- package/dist/space/ITreasuryShim.js.map +0 -1
- package/dist/space/OwnableFacetShim.d.ts +0 -12
- package/dist/space/OwnableFacetShim.d.ts.map +0 -1
- package/dist/space/OwnableFacetShim.js +0 -19
- package/dist/space/OwnableFacetShim.js.map +0 -1
- package/dist/space/Space.d.ts +0 -107
- package/dist/space/Space.d.ts.map +0 -1
- package/dist/space/Space.js +0 -511
- package/dist/space/Space.js.map +0 -1
- package/dist/space/TokenPausableFacetShim.d.ts +0 -9
- package/dist/space/TokenPausableFacetShim.d.ts.map +0 -1
- package/dist/space/TokenPausableFacetShim.js +0 -9
- package/dist/space/TokenPausableFacetShim.js.map +0 -1
- package/dist/space/entitlements/ConvertersEntitlements.d.ts +0 -14
- package/dist/space/entitlements/ConvertersEntitlements.d.ts.map +0 -1
- package/dist/space/entitlements/ConvertersEntitlements.js +0 -193
- package/dist/space/entitlements/ConvertersEntitlements.js.map +0 -1
- package/dist/space/entitlements/RuleBuilder.d.ts +0 -83
- package/dist/space/entitlements/RuleBuilder.d.ts.map +0 -1
- package/dist/space/entitlements/RuleBuilder.js +0 -86
- package/dist/space/entitlements/RuleBuilder.js.map +0 -1
- package/dist/space/entitlements/RuleEntitlementShim.d.ts +0 -353
- package/dist/space/entitlements/RuleEntitlementShim.d.ts.map +0 -1
- package/dist/space/entitlements/RuleEntitlementShim.js +0 -40
- package/dist/space/entitlements/RuleEntitlementShim.js.map +0 -1
- package/dist/space/entitlements/RuleEntitlementV2Shim.d.ts +0 -353
- package/dist/space/entitlements/RuleEntitlementV2Shim.d.ts.map +0 -1
- package/dist/space/entitlements/RuleEntitlementV2Shim.js +0 -40
- package/dist/space/entitlements/RuleEntitlementV2Shim.js.map +0 -1
- package/dist/space/entitlements/UserEntitlementShim.d.ts +0 -13
- package/dist/space/entitlements/UserEntitlementShim.d.ts.map +0 -1
- package/dist/space/entitlements/UserEntitlementShim.js +0 -45
- package/dist/space/entitlements/UserEntitlementShim.js.map +0 -1
- package/dist/space/entitlements/XChainConfig.d.ts +0 -14
- package/dist/space/entitlements/XChainConfig.d.ts.map +0 -1
- package/dist/space/entitlements/XChainConfig.js.map +0 -1
- package/dist/space/entitlements/entitlement.d.ts +0 -147
- package/dist/space/entitlements/entitlement.d.ts.map +0 -1
- package/dist/space/entitlements/entitlement.js +0 -940
- package/dist/space/entitlements/entitlement.js.map +0 -1
- package/dist/space/entitlements/validateAndParseXChainConfig.d.ts +0 -6
- package/dist/space/entitlements/validateAndParseXChainConfig.d.ts.map +0 -1
- package/dist/space/entitlements/validateAndParseXChainConfig.js +0 -34
- package/dist/space/entitlements/validateAndParseXChainConfig.js.map +0 -1
- package/dist/space-dapp/SpaceDapp.d.ts +0 -223
- package/dist/space-dapp/SpaceDapp.d.ts.map +0 -1
- package/dist/space-dapp/SpaceDapp.js +0 -1260
- package/dist/space-dapp/SpaceDapp.js.map +0 -1
- package/dist/space-dapp/SpaceDappFactory.d.ts +0 -5
- package/dist/space-dapp/SpaceDappFactory.d.ts.map +0 -1
- package/dist/space-dapp/SpaceDappFactory.js +0 -8
- package/dist/space-dapp/SpaceDappFactory.js.map +0 -1
- package/dist/space-dapp/wrapTransaction.d.ts +0 -4
- package/dist/space-dapp/wrapTransaction.d.ts.map +0 -1
- package/dist/space-dapp/wrapTransaction.js +0 -99
- package/dist/space-dapp/wrapTransaction.js.map +0 -1
- package/dist/space-owner/GuardianFacetShim.d.ts +0 -9
- package/dist/space-owner/GuardianFacetShim.d.ts.map +0 -1
- package/dist/space-owner/GuardianFacetShim.js +0 -9
- package/dist/space-owner/GuardianFacetShim.js.map +0 -1
- package/dist/space-owner/SpaceOwner.d.ts +0 -48
- package/dist/space-owner/SpaceOwner.d.ts.map +0 -1
- package/dist/space-owner/SpaceOwner.js +0 -81
- package/dist/space-owner/SpaceOwner.js.map +0 -1
- package/dist/space-registrar/ICreateSpaceShim.d.ts +0 -11
- package/dist/space-registrar/ICreateSpaceShim.d.ts.map +0 -1
- package/dist/space-registrar/ICreateSpaceShim.js +0 -9
- package/dist/space-registrar/ICreateSpaceShim.js.map +0 -1
- package/dist/space-registrar/ILegacySpaceArchitectShim.d.ts +0 -10
- package/dist/space-registrar/ILegacySpaceArchitectShim.d.ts.map +0 -1
- package/dist/space-registrar/ILegacySpaceArchitectShim.js +0 -9
- package/dist/space-registrar/ILegacySpaceArchitectShim.js.map +0 -1
- package/dist/space-registrar/ISpaceArchitectShim.d.ts +0 -10
- package/dist/space-registrar/ISpaceArchitectShim.d.ts.map +0 -1
- package/dist/space-registrar/ISpaceArchitectShim.js +0 -39
- package/dist/space-registrar/ISpaceArchitectShim.js.map +0 -1
- package/dist/space-registrar/SpaceRegistrar.d.ts +0 -27
- package/dist/space-registrar/SpaceRegistrar.d.ts.map +0 -1
- package/dist/space-registrar/SpaceRegistrar.js +0 -58
- package/dist/space-registrar/SpaceRegistrar.js.map +0 -1
- package/dist/test-helpers/LocalhostWeb3Provider.d.ts +0 -19
- package/dist/test-helpers/LocalhostWeb3Provider.d.ts.map +0 -1
- package/dist/test-helpers/LocalhostWeb3Provider.js +0 -80
- package/dist/test-helpers/LocalhostWeb3Provider.js.map +0 -1
- package/dist/test-helpers/MockCrossChainEntitlement.d.ts +0 -6
- package/dist/test-helpers/MockCrossChainEntitlement.d.ts.map +0 -1
- package/dist/test-helpers/MockCrossChainEntitlement.js +0 -104
- package/dist/test-helpers/MockCrossChainEntitlement.js.map +0 -1
- package/dist/test-helpers/MockERC721AShim.d.ts +0 -9
- package/dist/test-helpers/MockERC721AShim.d.ts.map +0 -1
- package/dist/test-helpers/MockERC721AShim.js +0 -9
- package/dist/test-helpers/MockERC721AShim.js.map +0 -1
- package/dist/test-helpers/TestCrossChainEntitlement.d.ts +0 -14
- package/dist/test-helpers/TestCrossChainEntitlement.d.ts.map +0 -1
- package/dist/test-helpers/TestCrossChainEntitlement.js +0 -99
- package/dist/test-helpers/TestCrossChainEntitlement.js.map +0 -1
- package/dist/test-helpers/TestGatingERC1155.d.ts +0 -17
- package/dist/test-helpers/TestGatingERC1155.d.ts.map +0 -1
- package/dist/test-helpers/TestGatingERC1155.js +0 -100
- package/dist/test-helpers/TestGatingERC1155.js.map +0 -1
- package/dist/test-helpers/TestGatingERC20.d.ts +0 -17
- package/dist/test-helpers/TestGatingERC20.d.ts.map +0 -1
- package/dist/test-helpers/TestGatingERC20.js +0 -149
- package/dist/test-helpers/TestGatingERC20.js.map +0 -1
- package/dist/test-helpers/TestGatingNFT.d.ts +0 -17
- package/dist/test-helpers/TestGatingNFT.d.ts.map +0 -1
- package/dist/test-helpers/TestGatingNFT.js +0 -137
- package/dist/test-helpers/TestGatingNFT.js.map +0 -1
- package/dist/test-helpers/TestGatingUtils.d.ts +0 -15
- package/dist/test-helpers/TestGatingUtils.d.ts.map +0 -1
- package/dist/test-helpers/TestGatingUtils.js +0 -112
- package/dist/test-helpers/TestGatingUtils.js.map +0 -1
- package/dist/test-helpers/utils.d.ts +0 -22
- package/dist/test-helpers/utils.d.ts.map +0 -1
- package/dist/test-helpers/utils.js +0 -30
- package/dist/test-helpers/utils.js.map +0 -1
- package/dist/towns-token/TownsToken.d.ts +0 -17
- package/dist/towns-token/TownsToken.d.ts.map +0 -1
- package/dist/towns-token/TownsToken.js +0 -33
- package/dist/towns-token/TownsToken.js.map +0 -1
- package/dist/types/typechain.d.ts +0 -4
- package/dist/types/typechain.d.ts.map +0 -1
- package/dist/types/typechain.js +0 -2
- package/dist/types/typechain.js.map +0 -1
- package/dist/utils/ContractHelpers.d.ts +0 -14
- package/dist/utils/ContractHelpers.d.ts.map +0 -1
- package/dist/utils/ContractHelpers.js +0 -54
- package/dist/utils/ContractHelpers.js.map +0 -1
- package/dist/wallet-link/WalletLink.d.ts +0 -58
- package/dist/wallet-link/WalletLink.d.ts.map +0 -1
- package/dist/wallet-link/WalletLink.js +0 -226
- package/dist/wallet-link/WalletLink.js.map +0 -1
- package/dist/wallet-link/WalletLinkShim.d.ts +0 -9
- package/dist/wallet-link/WalletLinkShim.d.ts.map +0 -1
- package/dist/wallet-link/WalletLinkShim.js +0 -9
- package/dist/wallet-link/WalletLinkShim.js.map +0 -1
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
2
|
-
export async function getFilteredRolesFromSpace(spaceDapp, spaceNetworkId) {
|
|
3
|
-
const spaceRoles = await spaceDapp.getRoles(spaceNetworkId);
|
|
4
|
-
const filteredRoles = [];
|
|
5
|
-
// Filter out space roles which won't work when creating a channel
|
|
6
|
-
for (const r of spaceRoles) {
|
|
7
|
-
// Filter out roles which have no permissions & the Owner role
|
|
8
|
-
if (r.name !== 'Owner') {
|
|
9
|
-
filteredRoles.push(r);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
return filteredRoles;
|
|
13
|
-
}
|
|
14
|
-
export function isRoleIdInArray(roleIds, roleId) {
|
|
15
|
-
for (const r of roleIds) {
|
|
16
|
-
if (r.eq(roleId)) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* TODO: these are only used in tests, should move them to different file?
|
|
24
|
-
*/
|
|
25
|
-
function isMembershipStructV3(returnValue) {
|
|
26
|
-
return typeof returnValue.settings.price === 'number';
|
|
27
|
-
}
|
|
28
|
-
function _createMembershipStruct({ name, permissions, requirements, }) {
|
|
29
|
-
return {
|
|
30
|
-
settings: {
|
|
31
|
-
name,
|
|
32
|
-
symbol: 'MEMBER',
|
|
33
|
-
price: 0,
|
|
34
|
-
maxSupply: 1000,
|
|
35
|
-
duration: 0,
|
|
36
|
-
currency: ethers.constants.AddressZero,
|
|
37
|
-
feeRecipient: ethers.constants.AddressZero,
|
|
38
|
-
freeAllocation: 0,
|
|
39
|
-
pricingModule: ethers.constants.AddressZero,
|
|
40
|
-
},
|
|
41
|
-
permissions,
|
|
42
|
-
requirements,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
export function createMembershipStruct(args) {
|
|
46
|
-
const result = _createMembershipStruct(args);
|
|
47
|
-
if (isMembershipStructV3(result)) {
|
|
48
|
-
return result;
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
throw new Error("createMembershipStruct: version is not 'v3'");
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=ContractHelpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContractHelpers.js","sourceRoot":"","sources":["../../src/utils/ContractHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,MAAM,EAAE,MAAM,QAAQ,CAAA;AAMxD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC3C,SAAoB,EACpB,cAAsB;IAEtB,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;IAC3D,MAAM,aAAa,GAAoB,EAAE,CAAA;IACzC,kEAAkE;IAClE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACzB,8DAA8D;QAC9D,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;IACL,CAAC;IACD,OAAO,aAAa,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,eAAe,CAC3B,OAAwC,EACxC,MAA6B;IAE7B,KAAK,MAAM,CAAC,IAAI,OAAsB,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAA;AAChB,CAAC;AAED;;GAEG;AAEH,SAAS,oBAAoB,CACzB,WAA4C;IAE5C,OAAO,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAA;AACzD,CAAC;AAiBD,SAAS,uBAAuB,CAAC,EAC7B,IAAI,EACJ,WAAW,EACX,YAAY,GACa;IACzB,OAAO;QACH,QAAQ,EAAE;YACN,IAAI;YACJ,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW;YACtC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW;YAC1C,cAAc,EAAE,CAAC;YACjB,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW;SAC9C;QACD,WAAW;QACX,YAAY;KACf,CAAA;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAgC;IACnE,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;IAC5C,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAA;IACjB,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAClE,CAAC;AACL,CAAC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,226 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WalletLink.js","sourceRoot":"","sources":["../../src/wallet-link/WalletLink.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|