@dynamic-labs/multi-wallet 0.15.18 → 0.15.20

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/CHANGELOG.md CHANGED
@@ -1,4 +1,8 @@
1
1
 
2
+ ### [0.15.20](https://github.com/dynamic-labs/DynamicAuth/compare/v0.15.19...v0.15.20) (2023-03-27)
3
+
4
+ ### [0.15.19](https://github.com/dynamic-labs/DynamicAuth/compare/v0.15.18...v0.15.19) (2023-03-24)
5
+
2
6
  ### [0.15.18](https://github.com/dynamic-labs/DynamicAuth/compare/v0.15.17...v0.15.18) (2023-03-24)
3
7
 
4
8
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/multi-wallet",
3
- "version": "0.15.18",
3
+ "version": "0.15.20",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -25,8 +25,8 @@
25
25
  "react-dom": "18.2.0",
26
26
  "starknet": "3.19.0",
27
27
  "tslib": "2.4.1",
28
- "@dynamic-labs/logger": "0.15.18",
29
- "@dynamic-labs/wallet-connector-core": "0.15.18"
28
+ "@dynamic-labs/logger": "0.15.20",
29
+ "@dynamic-labs/wallet-connector-core": "0.15.20"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@walletconnect/types": "^2.2.1"
package/src/index.d.ts CHANGED
@@ -12,6 +12,7 @@ export { isEmailWalletConnector } from './utils/isEmailWalletConnector';
12
12
  export { walletMetadata, getWalletConnectMetadata, } from './utils/walletConnect';
13
13
  export { getWalletLinks } from './utils/walletLinks';
14
14
  export type { BrowserName, WalletLinks } from './utils/walletLinks';
15
+ export { getChainInfo } from './utils/getChainInfo';
15
16
  export { getWalletConnectorByName } from './utils/getWalletConnectorByName';
16
17
  export * from './wallets/clients/walletConnect';
17
18
  export * from './wallets/clients/coinbase';
package/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultStarknetTypedDataDomain = exports.getWalletConnectorByName = exports.getWalletLinks = exports.getWalletConnectMetadata = exports.walletMetadata = exports.isEmailWalletConnector = exports.normalizeWalletName = exports.isMobile = exports.isIPhone = exports.isIPad = exports.generateMessageToSign = void 0;
3
+ exports.defaultStarknetTypedDataDomain = exports.getWalletConnectorByName = exports.getChainInfo = exports.getWalletLinks = exports.getWalletConnectMetadata = exports.walletMetadata = exports.isEmailWalletConnector = exports.normalizeWalletName = exports.isMobile = exports.isIPhone = exports.isIPad = exports.generateMessageToSign = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  require("./polyfills");
6
6
  tslib_1.__exportStar(require("./multi-wallet"), exports);
@@ -24,6 +24,8 @@ Object.defineProperty(exports, "walletMetadata", { enumerable: true, get: functi
24
24
  Object.defineProperty(exports, "getWalletConnectMetadata", { enumerable: true, get: function () { return walletConnect_1.getWalletConnectMetadata; } });
25
25
  var walletLinks_1 = require("./utils/walletLinks");
26
26
  Object.defineProperty(exports, "getWalletLinks", { enumerable: true, get: function () { return walletLinks_1.getWalletLinks; } });
27
+ var getChainInfo_1 = require("./utils/getChainInfo");
28
+ Object.defineProperty(exports, "getChainInfo", { enumerable: true, get: function () { return getChainInfo_1.getChainInfo; } });
27
29
  var getWalletConnectorByName_1 = require("./utils/getWalletConnectorByName");
28
30
  Object.defineProperty(exports, "getWalletConnectorByName", { enumerable: true, get: function () { return getWalletConnectorByName_1.getWalletConnectorByName; } });
29
31
  tslib_1.__exportStar(require("./wallets/clients/walletConnect"), exports);
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/index.ts"],"names":[],"mappings":";;;;AAAA,uBAAqB;AAErB,yDAA+B;AAC/B,kDAAwB;AACxB,mDAAyB;AACzB,yDAA+B;AAC/B,yDAA+B;AAC/B,4EAAkD;AAElD,2CAAwD;AAA/C,gHAAA,qBAAqB,OAAA;AAC9B,6CAA8D;AAArD,kGAAA,MAAM,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAEnC,mEAAkE;AAAzD,0HAAA,mBAAmB,OAAA;AAC5B,yEAAwE;AAA/D,gIAAA,sBAAsB,OAAA;AAE/B,uDAG+B;AAF7B,+GAAA,cAAc,OAAA;AACd,yHAAA,wBAAwB,OAAA;AAE1B,mDAAqD;AAA5C,6GAAA,cAAc,OAAA;AAEvB,6EAA4E;AAAnE,oIAAA,wBAAwB,OAAA;AAEjC,0EAAgD;AAChD,qEAA2C;AAI3C,gEAAsC;AAEtC,iDAAqE;AAA5D,2HAAA,8BAA8B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/index.ts"],"names":[],"mappings":";;;;AAAA,uBAAqB;AAErB,yDAA+B;AAC/B,kDAAwB;AACxB,mDAAyB;AACzB,yDAA+B;AAC/B,yDAA+B;AAC/B,4EAAkD;AAElD,2CAAwD;AAA/C,gHAAA,qBAAqB,OAAA;AAC9B,6CAA8D;AAArD,kGAAA,MAAM,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAEnC,mEAAkE;AAAzD,0HAAA,mBAAmB,OAAA;AAC5B,yEAAwE;AAA/D,gIAAA,sBAAsB,OAAA;AAE/B,uDAG+B;AAF7B,+GAAA,cAAc,OAAA;AACd,yHAAA,wBAAwB,OAAA;AAE1B,mDAAqD;AAA5C,6GAAA,cAAc,OAAA;AAEvB,qDAAoD;AAA3C,4GAAA,YAAY,OAAA;AACrB,6EAA4E;AAAnE,oIAAA,wBAAwB,OAAA;AAEjC,0EAAgD;AAChD,qEAA2C;AAI3C,gEAAsC;AAEtC,iDAAqE;AAA5D,2HAAA,8BAA8B,OAAA"}
package/src/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Connection } from '@solana/web3.js';
2
2
  import { ethers } from 'ethers';
3
3
  import type { NetworkConfiguration } from '@dynamic-labs/sdk-api';
4
- import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
4
+ import { WalletConnector, Chain } from '@dynamic-labs/wallet-connector-core';
5
5
  import { EvmNetwork } from './wallets/ethereum/evm-network';
6
6
  import { MagicLinkConfig } from './wallets/ethereum/MagicConnector';
7
7
  export type WalletConnectWalletMetadata = {
@@ -89,3 +89,13 @@ export type WalletUiUtils = {
89
89
  message: string | ethers.utils.Bytes;
90
90
  }) => Promise<string>;
91
91
  };
92
+ export type ChainInfo = {
93
+ blockchainName: string;
94
+ displayName: string;
95
+ name: string;
96
+ symbol: Chain;
97
+ };
98
+ export type ChainWihtIcon = {
99
+ icon?: string;
100
+ name: string | undefined;
101
+ };
@@ -0,0 +1,2 @@
1
+ import { ChainInfo } from '../../types';
2
+ export declare const getChainInfo: (chain: string) => ChainInfo | undefined;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getChainInfo = void 0;
4
+ const chainsInfo = [
5
+ {
6
+ blockchainName: 'Algorand',
7
+ displayName: 'Algorand',
8
+ name: 'algorand',
9
+ symbol: 'ALGO',
10
+ },
11
+ {
12
+ blockchainName: 'Ethereum',
13
+ displayName: 'EVM',
14
+ name: 'evm',
15
+ symbol: 'ETH',
16
+ },
17
+ {
18
+ blockchainName: 'Flow',
19
+ displayName: 'Flow',
20
+ name: 'flow',
21
+ symbol: 'FLOW',
22
+ },
23
+ {
24
+ blockchainName: 'Solana',
25
+ displayName: 'Solana',
26
+ name: 'solana',
27
+ symbol: 'SOL',
28
+ },
29
+ {
30
+ blockchainName: 'Starknet',
31
+ displayName: 'Starknet',
32
+ name: 'starknet',
33
+ symbol: 'STARK',
34
+ },
35
+ ];
36
+ const chainOverrides = {
37
+ eip155: 'evm',
38
+ eth: 'evm',
39
+ };
40
+ const getChainInfo = (chain) => {
41
+ var _a;
42
+ const lowerCasedChain = chain.toLowerCase();
43
+ const normalizedChain = (_a = chainOverrides[lowerCasedChain]) !== null && _a !== void 0 ? _a : lowerCasedChain;
44
+ const chainInfo = chainsInfo.find((info) => info.name === normalizedChain ||
45
+ info.symbol.toLocaleLowerCase() === normalizedChain);
46
+ if (!chainInfo) {
47
+ return;
48
+ }
49
+ return chainInfo;
50
+ };
51
+ exports.getChainInfo = getChainInfo;
52
+ //# sourceMappingURL=getChainInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getChainInfo.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/utils/getChainInfo/getChainInfo.ts"],"names":[],"mappings":";;;AAEA,MAAM,UAAU,GAAgB;IAC9B;QACE,cAAc,EAAE,UAAU;QAC1B,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,MAAM;KACf;IACD;QACE,cAAc,EAAE,UAAU;QAC1B,WAAW,EAAE,KAAK;QAClB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,KAAK;KACd;IACD;QACE,cAAc,EAAE,MAAM;QACtB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf;IACD;QACE,cAAc,EAAE,QAAQ;QACxB,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;KACd;IACD;QACE,cAAc,EAAE,UAAU;QAC1B,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,OAAO;KAChB;CACF,CAAC;AAEF,MAAM,cAAc,GAA2B;IAC7C,MAAM,EAAE,KAAK;IACb,GAAG,EAAE,KAAK;CACX,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,KAAa,EAAyB,EAAE;;IACnE,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,eAAe,GAAG,MAAA,cAAc,CAAC,eAAe,CAAC,mCAAI,eAAe,CAAC;IAC3E,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAC/B,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,KAAK,eAAe;QAC7B,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,eAAe,CACtD,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE;QACd,OAAO;KACR;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB"}
@@ -0,0 +1 @@
1
+ export { getChainInfo } from './getChainInfo';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getChainInfo = void 0;
4
+ var getChainInfo_1 = require("./getChainInfo");
5
+ Object.defineProperty(exports, "getChainInfo", { enumerable: true, get: function () { return getChainInfo_1.getChainInfo; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/utils/getChainInfo/index.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
@@ -3,23 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getEip55Address = exports.generateMessageToSign = void 0;
4
4
  const utils_1 = require("ethers/lib/utils");
5
5
  const logger_1 = require("./logger");
6
- const fullBlockchainNames = {
7
- ALGO: 'Algorand',
8
- ETH: 'Ethereum',
9
- EVM: 'Ethereum',
10
- FLOW: 'Flow',
11
- SOL: 'Solana',
12
- STARK: 'Starknet',
13
- };
6
+ const getChainInfo_1 = require("./getChainInfo");
14
7
  const generateMessageToSign = ({ blockchain, domain, chainId, nonce, uri, publicKey, issuedAt = new Date().toISOString(), statement, requestId, }) => {
8
+ var _a, _b;
15
9
  if (blockchain === 'STARK') {
16
10
  return nonce;
17
11
  }
12
+ const blockchainName = (_b = (_a = (0, getChainInfo_1.getChainInfo)(blockchain)) === null || _a === void 0 ? void 0 : _a.blockchainName) !== null && _b !== void 0 ? _b : 'Ethereum';
18
13
  // This format follows the sign-in with ethereum (SIWE) standard,
19
14
  // but we are using it also for non-ethereum wallets for now (eg. Solana)
20
15
  // for more context on format and fields, please see:
21
16
  // https://docs.login.xyz/general-information/siwe-overview/eip-4361
22
- const blockchainName = fullBlockchainNames[blockchain];
23
17
  const header = `${domain} wants you to sign in with your ${blockchainName} account:`;
24
18
  // This is only required for Ethereum-based wallets
25
19
  const messageAddress = (0, exports.getEip55Address)(publicKey, chainId);
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/message.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAI9C,qCAAkC;AAElC,MAAM,mBAAmB,GAA0B;IACjD,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,UAAU;CAClB,CAAC;AAcK,MAAM,qBAAqB,GAAG,CAAC,EACpC,UAAU,EACV,MAAM,EACN,OAAO,EACP,KAAK,EACL,GAAG,EACH,SAAS,EACT,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACnC,SAAS,EACT,SAAS,GACS,EAAU,EAAE;IAC9B,IAAI,UAAU,KAAK,OAAO,EAAE;QAC1B,OAAO,KAAK,CAAC;KACd;IACD,iEAAiE;IACjE,yEAAyE;IACzE,qDAAqD;IACrD,oEAAoE;IACpE,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,GAAG,MAAM,mCAAmC,cAAc,WAAW,CAAC;IACrF,mDAAmD;IACnD,MAAM,cAAc,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAEpE,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACjC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChC,IAAI,OAAO,EAAE;QACX,YAAY,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;KAC3C;IAED,YAAY,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;IACrC,YAAY,CAAC,IAAI,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;IAE5C,IAAI,SAAS,EAAE;QACb,YAAY,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;KAC/C;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC;AA1CW,QAAA,qBAAqB,yBA0ChC;AAEF,4EAA4E;AAC5E,2EAA2E;AAC3E,6CAA6C;AACtC,MAAM,eAAe,GAAG,CAC7B,SAAiB,EACjB,OAAgB,EACR,EAAE;IACV,IAAI;QACF,IAAI,OAAO,EAAE;YACX,OAAO,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC;SAC9B;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,eAAM,CAAC,KAAK,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAC;KACxE;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/message.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAI9C,qCAAkC;AAClC,iDAA8C;AAcvC,MAAM,qBAAqB,GAAG,CAAC,EACpC,UAAU,EACV,MAAM,EACN,OAAO,EACP,KAAK,EACL,GAAG,EACH,SAAS,EACT,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACnC,SAAS,EACT,SAAS,GACS,EAAU,EAAE;;IAC9B,IAAI,UAAU,KAAK,OAAO,EAAE;QAC1B,OAAO,KAAK,CAAC;KACd;IAED,MAAM,cAAc,GAAG,MAAA,MAAA,IAAA,2BAAY,EAAC,UAAU,CAAC,0CAAE,cAAc,mCAAI,UAAU,CAAC;IAE9E,iEAAiE;IACjE,yEAAyE;IACzE,qDAAqD;IACrD,oEAAoE;IACpE,MAAM,MAAM,GAAG,GAAG,MAAM,mCAAmC,cAAc,WAAW,CAAC;IACrF,mDAAmD;IACnD,MAAM,cAAc,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAEpE,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACjC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChC,IAAI,OAAO,EAAE;QACX,YAAY,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;KAC3C;IAED,YAAY,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;IACrC,YAAY,CAAC,IAAI,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;IAE5C,IAAI,SAAS,EAAE;QACb,YAAY,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;KAC/C;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC;AA5CW,QAAA,qBAAqB,yBA4ChC;AAEF,4EAA4E;AAC5E,2EAA2E;AAC3E,6CAA6C;AACtC,MAAM,eAAe,GAAG,CAC7B,SAAiB,EACjB,OAAgB,EACR,EAAE;IACV,IAAI;QACF,IAAI,OAAO,EAAE;YACX,OAAO,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC;SAC9B;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,eAAM,CAAC,KAAK,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAC;KACxE;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B"}