@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 +4 -0
- package/package.json +3 -3
- package/src/index.d.ts +1 -0
- package/src/index.js +3 -1
- package/src/index.js.map +1 -1
- package/src/types.d.ts +11 -1
- package/src/utils/getChainInfo/getChainInfo.d.ts +2 -0
- package/src/utils/getChainInfo/getChainInfo.js +52 -0
- package/src/utils/getChainInfo/getChainInfo.js.map +1 -0
- package/src/utils/getChainInfo/index.d.ts +1 -0
- package/src/utils/getChainInfo/index.js +6 -0
- package/src/utils/getChainInfo/index.js.map +1 -0
- package/src/utils/message.js +3 -9
- package/src/utils/message.js.map +1 -1
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.
|
|
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.
|
|
29
|
-
"@dynamic-labs/wallet-connector-core": "0.15.
|
|
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,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"}
|
package/src/utils/message.js
CHANGED
|
@@ -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
|
|
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);
|
package/src/utils/message.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/message.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAI9C,qCAAkC;
|
|
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"}
|