thirdweb 5.29.2-nightly-eff710738ce3d4341257e5912311c95b28a34b5d-20240614173600 → 5.29.3-nightly-ffaff744f72d2cb22896e7501677b48f76ea857a-20240614184424
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/cjs/exports/react-native/wallets.js +34 -0
- package/dist/cjs/exports/react-native/wallets.js.map +1 -0
- package/dist/cjs/exports/wallets/smart.js +2 -2
- package/dist/cjs/exports/wallets/smart.js.map +1 -1
- package/dist/cjs/exports/wallets.js +3 -2
- package/dist/cjs/exports/wallets.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/coinbase/coinbase-wallet.js +87 -0
- package/dist/cjs/wallets/coinbase/coinbase-wallet.js.map +1 -0
- package/dist/cjs/wallets/coinbase/coinbaseMobileSDK.js +17 -2
- package/dist/cjs/wallets/coinbase/coinbaseMobileSDK.js.map +1 -1
- package/dist/cjs/wallets/coinbase/coinbaseSDKWallet.js +12 -20
- package/dist/cjs/wallets/coinbase/coinbaseSDKWallet.js.map +1 -1
- package/dist/cjs/wallets/create-wallet.js +10 -173
- package/dist/cjs/wallets/create-wallet.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/index.js +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
- package/dist/cjs/wallets/manager/index.js +2 -2
- package/dist/cjs/wallets/manager/index.js.map +1 -1
- package/dist/cjs/wallets/native/create-wallet.js +174 -0
- package/dist/cjs/wallets/native/create-wallet.js.map +1 -0
- package/dist/cjs/wallets/smart/smart-wallet.js +103 -0
- package/dist/cjs/wallets/smart/smart-wallet.js.map +1 -0
- package/dist/esm/exports/react-native/wallets.js +23 -0
- package/dist/esm/exports/react-native/wallets.js.map +1 -0
- package/dist/esm/exports/wallets/smart.js +1 -1
- package/dist/esm/exports/wallets/smart.js.map +1 -1
- package/dist/esm/exports/wallets.js +2 -1
- package/dist/esm/exports/wallets.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/coinbase/coinbase-wallet.js +83 -0
- package/dist/esm/wallets/coinbase/coinbase-wallet.js.map +1 -0
- package/dist/esm/wallets/coinbase/coinbaseMobileSDK.js +16 -1
- package/dist/esm/wallets/coinbase/coinbaseMobileSDK.js.map +1 -1
- package/dist/esm/wallets/coinbase/coinbaseSDKWallet.js +10 -19
- package/dist/esm/wallets/coinbase/coinbaseSDKWallet.js.map +1 -1
- package/dist/esm/wallets/create-wallet.js +8 -170
- package/dist/esm/wallets/create-wallet.js.map +1 -1
- package/dist/esm/wallets/in-app/core/wallet/index.js +1 -1
- package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
- package/dist/esm/wallets/manager/index.js +1 -1
- package/dist/esm/wallets/manager/index.js.map +1 -1
- package/dist/esm/wallets/native/create-wallet.js +169 -0
- package/dist/esm/wallets/native/create-wallet.js.map +1 -0
- package/dist/esm/wallets/smart/smart-wallet.js +99 -0
- package/dist/esm/wallets/smart/smart-wallet.js.map +1 -0
- package/dist/types/exports/react-native/wallets.d.ts +46 -0
- package/dist/types/exports/react-native/wallets.d.ts.map +1 -0
- package/dist/types/exports/wallets/smart.d.ts +1 -1
- package/dist/types/exports/wallets/smart.d.ts.map +1 -1
- package/dist/types/exports/wallets.d.ts +2 -1
- package/dist/types/exports/wallets.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/coinbase/coinbase-wallet.d.ts +15 -0
- package/dist/types/wallets/coinbase/coinbase-wallet.d.ts.map +1 -0
- package/dist/types/wallets/coinbase/coinbaseMobileSDK.d.ts +7 -7
- package/dist/types/wallets/coinbase/coinbaseMobileSDK.d.ts.map +1 -1
- package/dist/types/wallets/coinbase/coinbaseSDKWallet.d.ts +6 -2
- package/dist/types/wallets/coinbase/coinbaseSDKWallet.d.ts.map +1 -1
- package/dist/types/wallets/create-wallet.d.ts +0 -21
- package/dist/types/wallets/create-wallet.d.ts.map +1 -1
- package/dist/types/wallets/manager/index.d.ts.map +1 -1
- package/dist/types/wallets/native/create-wallet.d.ts +36 -0
- package/dist/types/wallets/native/create-wallet.d.ts.map +1 -0
- package/dist/types/wallets/smart/smart-wallet.d.ts +24 -0
- package/dist/types/wallets/smart/smart-wallet.d.ts.map +1 -0
- package/package.json +2 -1
- package/src/exports/react-native/wallets.ts +100 -0
- package/src/exports/wallets/smart.ts +1 -1
- package/src/exports/wallets.ts +1 -1
- package/src/version.ts +1 -1
- package/src/wallets/coinbase/coinbase-wallet.ts +108 -0
- package/src/wallets/coinbase/coinbaseMobileSDK.ts +23 -1
- package/src/wallets/coinbase/coinbaseSDKWallet.ts +10 -21
- package/src/wallets/create-wallet.ts +8 -213
- package/src/wallets/in-app/core/wallet/index.ts +1 -1
- package/src/wallets/manager/index.ts +1 -1
- package/src/wallets/native/create-wallet.ts +224 -0
- package/src/wallets/smart/smart-wallet-integration.test.ts +1 -1
- package/src/wallets/smart/smart-wallet-zksync.test.ts +1 -1
- package/src/wallets/smart/smart-wallet.ts +123 -0
@@ -0,0 +1,46 @@
|
|
1
|
+
export { createWallet, walletConnect, } from "../../wallets/native/create-wallet.js";
|
2
|
+
export { smartWallet } from "../../wallets/smart/smart-wallet.js";
|
3
|
+
export type { Wallet, Account } from "../../wallets/interfaces/wallet.js";
|
4
|
+
export type { ConnectionStatus } from "../../wallets/manager/index.js";
|
5
|
+
export { getWalletBalance, type GetWalletBalanceOptions, } from "../../wallets/utils/getWalletBalance.js";
|
6
|
+
export { generateAccount, type GenerateAccountOptions, } from "../../wallets/utils/generateAccount.js";
|
7
|
+
export { privateKeyToAccount,
|
8
|
+
/**
|
9
|
+
* @internal
|
10
|
+
* @deprecated - use {@link privateKeyToAccount} instead
|
11
|
+
*/
|
12
|
+
privateKeyToAccount as privateKeyAccount, type PrivateKeyToAccountOptions,
|
13
|
+
/**
|
14
|
+
* @internal
|
15
|
+
* @deprecated - use {@link PrivateKeyToAccountOptions} instead
|
16
|
+
*/
|
17
|
+
type PrivateKeyToAccountOptions as PrivateKeyAccountOptions, } from "../../wallets/private-key.js";
|
18
|
+
export type { WalletId, WalletAutoConnectionOption, WalletCreationOptions, WalletConnectionOption, CreateWalletArgs, } from "../../wallets/wallet-types.js";
|
19
|
+
export type { WCSupportedWalletIds, InjectedSupportedWalletIds, } from "../../wallets/__generated__/wallet-ids.js";
|
20
|
+
export type { WCConnectOptions, WCAutoConnectOptions, } from "../../wallets/wallet-connect/types.js";
|
21
|
+
export type { SmartWalletConnectionOptions, SmartWalletOptions, } from "../../wallets/smart/types.js";
|
22
|
+
export type { InAppWalletAuth,
|
23
|
+
/**
|
24
|
+
* @deprecated use InAppWalletAuth instead
|
25
|
+
*/
|
26
|
+
InAppWalletAuth as EmbeddedWalletAuth, InAppWalletAutoConnectOptions,
|
27
|
+
/**
|
28
|
+
* @deprecated use InAppWalletAutoConnectOptions instead
|
29
|
+
*/
|
30
|
+
InAppWalletAutoConnectOptions as EmbeddedWalletAutoConnectOptions, InAppWalletConnectionOptions,
|
31
|
+
/**
|
32
|
+
* @deprecated use InAppWalletConnectionOptions instead
|
33
|
+
*/
|
34
|
+
InAppWalletConnectionOptions as EmbeddedWalletConnectionOptions, InAppWalletSocialAuth,
|
35
|
+
/**
|
36
|
+
* @deprecated use InAppWalletSocialAuth instead
|
37
|
+
*/
|
38
|
+
InAppWalletSocialAuth as EmbeddedWalletSocialAuth, } from "../../wallets/in-app/core/wallet/types.js";
|
39
|
+
export type { CoinbaseSDKWalletConnectionOptions } from "../../wallets/coinbase/coinbaseSDKWallet.js";
|
40
|
+
export type { WalletEmitter, WalletEmitterEvents, } from "../../wallets/wallet-emitter.js";
|
41
|
+
export { getAllWalletsList } from "../../wallets/getAllWalletsList.js";
|
42
|
+
export { getWalletInfo } from "../../wallets/__generated__/getWalletInfo.js";
|
43
|
+
export { type WalletInfo } from "../../wallets/wallet-info.js";
|
44
|
+
export { createWalletAdapter } from "../../adapters/wallet-adapter.js";
|
45
|
+
export declare const injectedProvider: () => never;
|
46
|
+
//# sourceMappingURL=wallets.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../../../src/exports/react-native/wallets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,aAAa,GACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGvE,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,GAC7B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,GAC5B,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EACL,mBAAmB;AACnB;;;GAGG;AACH,mBAAmB,IAAI,iBAAiB,EACxC,KAAK,0BAA0B;AAC/B;;;GAGG;AACH,KAAK,0BAA0B,IAAI,wBAAwB,GAC5D,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,QAAQ,EACR,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EACV,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC;AAEnD,YAAY,EACV,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,uCAAuC,CAAC;AAE/C,YAAY,EACV,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,eAAe;AACf;;GAEG;AACH,eAAe,IAAI,kBAAkB,EACrC,6BAA6B;AAC7B;;GAEG;AACH,6BAA6B,IAAI,gCAAgC,EACjE,4BAA4B;AAC5B;;GAEG;AACH,4BAA4B,IAAI,+BAA+B,EAC/D,qBAAqB;AACrB;;GAEG;AACH,qBAAqB,IAAI,wBAAwB,GAClD,MAAM,2CAA2C,CAAC;AAEnD,YAAY,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AAEtG,YAAY,EACV,aAAa,EACb,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAIvE,eAAO,MAAM,gBAAgB,aAE5B,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
export { smartWallet } from "../../wallets/
|
1
|
+
export { smartWallet } from "../../wallets/smart/smart-wallet.js";
|
2
2
|
export type { SmartWalletConnectionOptions, SmartWalletOptions, UserOperation, PaymasterResult, } from "../../wallets/smart/types.js";
|
3
3
|
export { ENTRYPOINT_ADDRESS_v0_6, DEFAULT_ACCOUNT_FACTORY, } from "../../wallets/smart/lib/constants.js";
|
4
4
|
//# sourceMappingURL=smart.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"smart.d.ts","sourceRoot":"","sources":["../../../../src/exports/wallets/smart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"smart.d.ts","sourceRoot":"","sources":["../../../../src/exports/wallets/smart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE,YAAY,EACV,4BAA4B,EAC5B,kBAAkB,EAClB,aAAa,EACb,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,sCAAsC,CAAC"}
|
@@ -1,8 +1,9 @@
|
|
1
|
-
export { createWallet,
|
1
|
+
export { createWallet, inAppWallet,
|
2
2
|
/**
|
3
3
|
* @deprecated use inAppWallet instead
|
4
4
|
*/
|
5
5
|
inAppWallet as embeddedWallet, walletConnect, } from "../wallets/create-wallet.js";
|
6
|
+
export { smartWallet } from "../wallets/smart/smart-wallet.js";
|
6
7
|
export type { Wallet, Account } from "../wallets/interfaces/wallet.js";
|
7
8
|
export type { ConnectionStatus } from "../wallets/manager/index.js";
|
8
9
|
export { getWalletBalance, type GetWalletBalanceOptions, } from "../wallets/utils/getWalletBalance.js";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../../src/exports/wallets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW
|
1
|
+
{"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../../src/exports/wallets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW;AACX;;GAEG;AACH,WAAW,IAAI,cAAc,EAC7B,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AACvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,GAC7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,GAC5B,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EACL,mBAAmB;AACnB;;;GAGG;AACH,mBAAmB,IAAI,iBAAiB,EACxC,KAAK,0BAA0B;AAC/B;;;GAGG;AACH,KAAK,0BAA0B,IAAI,wBAAwB,GAC5D,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,YAAY,EACV,QAAQ,EACR,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,wCAAwC,CAAC;AAEhD,YAAY,EACV,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAE5C,YAAY,EACV,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,eAAe;AACf;;GAEG;AACH,eAAe,IAAI,kBAAkB,EACrC,6BAA6B;AAC7B;;GAEG;AACH,6BAA6B,IAAI,gCAAgC,EACjE,4BAA4B;AAC5B;;GAEG;AACH,4BAA4B,IAAI,+BAA+B,EAC/D,qBAAqB;AACrB;;GAEG;AACH,qBAAqB,IAAI,wBAAwB,GAClD,MAAM,wCAAwC,CAAC;AAEhD,YAAY,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAEnG,YAAY,EACV,aAAa,EACb,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/types/version.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "5.29.
|
1
|
+
export declare const version = "5.29.3-nightly-ffaff744f72d2cb22896e7501677b48f76ea857a-20240614184424";
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/**
|
2
|
+
* internal helper functions
|
3
|
+
*/
|
4
|
+
import type { ProviderInterface } from "@coinbase/wallet-sdk";
|
5
|
+
import { COINBASE } from "../constants.js";
|
6
|
+
import type { Wallet } from "../interfaces/wallet.js";
|
7
|
+
import type { CreateWalletArgs } from "../wallet-types.js";
|
8
|
+
/**
|
9
|
+
* @internal
|
10
|
+
*/
|
11
|
+
export declare function coinbaseWalletSDK(args: {
|
12
|
+
createOptions?: CreateWalletArgs<typeof COINBASE>[1];
|
13
|
+
providerFactory: () => Promise<ProviderInterface>;
|
14
|
+
}): Wallet<typeof COINBASE>;
|
15
|
+
//# sourceMappingURL=coinbase-wallet.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"coinbase-wallet.d.ts","sourceRoot":"","sources":["../../../../src/wallets/coinbase/coinbase-wallet.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,aAAa,CAAC,EAAE,gBAAgB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,eAAe,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACnD,GAAG,MAAM,CAAC,OAAO,QAAQ,CAAC,CAyF1B"}
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import type {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
import type { ProviderInterface } from "@coinbase/wallet-sdk";
|
2
|
+
import type { COINBASE } from "../constants.js";
|
3
|
+
import type { CreateWalletArgs } from "../wallet-types.js";
|
4
|
+
/**
|
5
|
+
* @internal
|
6
|
+
*/
|
7
|
+
export declare function getCoinbaseMobileProvider(options?: CreateWalletArgs<typeof COINBASE>[1]): Promise<ProviderInterface>;
|
8
8
|
//# sourceMappingURL=coinbaseMobileSDK.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"coinbaseMobileSDK.d.ts","sourceRoot":"","sources":["../../../../src/wallets/coinbase/coinbaseMobileSDK.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
1
|
+
{"version":3,"file":"coinbaseMobileSDK.d.ts","sourceRoot":"","sources":["../../../../src/wallets/coinbase/coinbaseMobileSDK.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAI3D;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,CAAC,EAAE,gBAAgB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,iBAAiB,CAAC,CAU5B"}
|
@@ -81,6 +81,10 @@ export type CoinbaseSDKWalletConnectionOptions = {
|
|
81
81
|
*/
|
82
82
|
chain?: Chain;
|
83
83
|
};
|
84
|
+
/**
|
85
|
+
* @internal
|
86
|
+
*/
|
87
|
+
export declare function getCoinbaseWebProvider(options?: CreateWalletArgs<typeof COINBASE>[1]): Promise<ProviderInterface>;
|
84
88
|
/**
|
85
89
|
* Checks if the provided wallet is a Coinbase SDK wallet.
|
86
90
|
*
|
@@ -119,10 +123,10 @@ declare function onConnect(address: string, chain: Chain, provider: ProviderInte
|
|
119
123
|
/**
|
120
124
|
* @internal
|
121
125
|
*/
|
122
|
-
export declare function connectCoinbaseWalletSDK(options: WalletConnectionOption<typeof COINBASE>,
|
126
|
+
export declare function connectCoinbaseWalletSDK(options: WalletConnectionOption<typeof COINBASE>, emitter: WalletEmitter<typeof COINBASE>, provider: ProviderInterface): Promise<ReturnType<typeof onConnect>>;
|
123
127
|
/**
|
124
128
|
* @internal
|
125
129
|
*/
|
126
|
-
export declare function autoConnectCoinbaseWalletSDK(options: WalletConnectionOption<typeof COINBASE>,
|
130
|
+
export declare function autoConnectCoinbaseWalletSDK(options: WalletConnectionOption<typeof COINBASE>, emitter: WalletEmitter<typeof COINBASE>, provider: ProviderInterface): Promise<ReturnType<typeof onConnect>>;
|
127
131
|
export {};
|
128
132
|
//# sourceMappingURL=coinbaseSDKWallet.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"coinbaseSDKWallet.d.ts","sourceRoot":"","sources":["../../../../src/wallets/coinbase/coinbaseSDKWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
1
|
+
{"version":3,"file":"coinbaseSDKWallet.d.ts","sourceRoot":"","sources":["../../../../src/wallets/coinbase/coinbaseSDKWallet.ts"],"names":[],"mappings":"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"}
|
@@ -33,27 +33,6 @@ export declare function createWallet<const ID extends WalletId>(...args: CreateW
|
|
33
33
|
* @wallet
|
34
34
|
*/
|
35
35
|
export declare function walletConnect(): Wallet<"walletConnect">;
|
36
|
-
/**
|
37
|
-
* Creates a smart wallet.
|
38
|
-
* @param createOptions - The options for creating the wallet.
|
39
|
-
* @returns The created smart wallet.
|
40
|
-
* @example
|
41
|
-
* ```ts
|
42
|
-
* import { smartWallet } from "thirdweb/wallets";
|
43
|
-
*
|
44
|
-
* const wallet = smartWallet({
|
45
|
-
* chain: sepolia,
|
46
|
-
* gasless: true,
|
47
|
-
* });
|
48
|
-
*
|
49
|
-
* const account = await wallet.connect({
|
50
|
-
* client,
|
51
|
-
* personalAccount: account,
|
52
|
-
* });
|
53
|
-
* ```
|
54
|
-
* @wallet
|
55
|
-
*/
|
56
|
-
export declare function smartWallet(createOptions: CreateWalletArgs<"smart">[1]): Wallet<"smart">;
|
57
36
|
/**
|
58
37
|
* Creates an in-app wallet.
|
59
38
|
* @param createOptions - configuration options
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"create-wallet.d.ts","sourceRoot":"","sources":["../../../src/wallets/create-wallet.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EACV,gBAAgB,
|
1
|
+
{"version":3,"file":"create-wallet.d.ts","sourceRoot":"","sources":["../../../src/wallets/create-wallet.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EACV,gBAAgB,EAGhB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAc3B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EACpD,GAAG,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAC5B,MAAM,CAAC,EAAE,CAAC,CAqOZ;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,4BAE5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAgB,WAAW,CACzB,aAAa,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC3C,MAAM,CAAC,OAAO,CAAC,CAwFjB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/wallets/manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/wallets/manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAK7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,cAAc,GAAG,YAAY,CAAC;AAM3E,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC3E,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY;;;;iCAqBvB,MAAM;+BA+BR,MAAM;oCAsFK,MAAM;sBAhDpB,MAAM,YAAY,qBAAqB;+BA/B5D,MAAM,YACJ,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;qCAiHa,KAAK;;;oCA9IZ,MAAM;EA8L9C;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAU1B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAW1B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAWvB"}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import type { Wallet } from "../interfaces/wallet.js";
|
2
|
+
import type { CreateWalletArgs, WalletId } from "../wallet-types.js";
|
3
|
+
/**
|
4
|
+
* Creates a wallet based on the provided ID and arguments.
|
5
|
+
* @param args - The arguments for creating the wallet.
|
6
|
+
* @returns - The created wallet.
|
7
|
+
* @example
|
8
|
+
* ```ts
|
9
|
+
* import { createWallet } from "thirdweb/wallets";
|
10
|
+
*
|
11
|
+
* const metamaskWallet = createWallet("io.metamask");
|
12
|
+
*
|
13
|
+
* const account = await metamaskWallet.connect({
|
14
|
+
* client,
|
15
|
+
* });
|
16
|
+
* ```
|
17
|
+
* @wallet
|
18
|
+
*/
|
19
|
+
export declare function createWallet<const ID extends WalletId>(...args: CreateWalletArgs<ID>): Wallet<ID>;
|
20
|
+
/**
|
21
|
+
* Creates a wallet that allows connecting to any wallet that supports the WalletConnect protocol.
|
22
|
+
* @returns The created smart wallet.
|
23
|
+
* @example
|
24
|
+
* ```ts
|
25
|
+
* import { walletConnect } from "thirdweb/wallets";
|
26
|
+
*
|
27
|
+
* const wallet = walletConnect();
|
28
|
+
*
|
29
|
+
* const account = await wallet.connect({
|
30
|
+
* client
|
31
|
+
* });
|
32
|
+
* ```
|
33
|
+
* @wallet
|
34
|
+
*/
|
35
|
+
export declare function walletConnect(): Wallet<"walletConnect">;
|
36
|
+
//# sourceMappingURL=create-wallet.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"create-wallet.d.ts","sourceRoot":"","sources":["../../../../src/wallets/native/create-wallet.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAI/D,OAAO,KAAK,EACV,gBAAgB,EAEhB,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EACpD,GAAG,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAC5B,MAAM,CAAC,EAAE,CAAC,CAsKZ;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,4BAE5B"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import type { Wallet } from "../interfaces/wallet.js";
|
2
|
+
import type { CreateWalletArgs } from "../wallet-types.js";
|
3
|
+
/**
|
4
|
+
* Creates a smart wallet.
|
5
|
+
* @param createOptions - The options for creating the wallet.
|
6
|
+
* @returns The created smart wallet.
|
7
|
+
* @example
|
8
|
+
* ```ts
|
9
|
+
* import { smartWallet } from "thirdweb/wallets";
|
10
|
+
*
|
11
|
+
* const wallet = smartWallet({
|
12
|
+
* chain: sepolia,
|
13
|
+
* gasless: true,
|
14
|
+
* });
|
15
|
+
*
|
16
|
+
* const account = await wallet.connect({
|
17
|
+
* client,
|
18
|
+
* personalAccount: account,
|
19
|
+
* });
|
20
|
+
* ```
|
21
|
+
* @wallet
|
22
|
+
*/
|
23
|
+
export declare function smartWallet(createOptions: CreateWalletArgs<"smart">[1]): Wallet<"smart">;
|
24
|
+
//# sourceMappingURL=smart-wallet.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"smart-wallet.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC1C,MAAM,CAAC,OAAO,CAAC,CAwFjB"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "thirdweb",
|
3
|
-
"version": "5.29.
|
3
|
+
"version": "5.29.3-nightly-ffaff744f72d2cb22896e7501677b48f76ea857a-20240614184424",
|
4
4
|
"repository": {
|
5
5
|
"type": "git",
|
6
6
|
"url": "git+https://github.com/thirdweb-dev/js.git#main"
|
@@ -99,6 +99,7 @@
|
|
99
99
|
"./wallets": {
|
100
100
|
"types": "./dist/types/exports/wallets.d.ts",
|
101
101
|
"import": "./dist/esm/exports/wallets.js",
|
102
|
+
"react-native": "./dist/esm/exports/react-native/wallets.js",
|
102
103
|
"default": "./dist/cjs/exports/wallets.js"
|
103
104
|
},
|
104
105
|
"./wallets/*": {
|
@@ -0,0 +1,100 @@
|
|
1
|
+
export {
|
2
|
+
createWallet,
|
3
|
+
// TODO (rn) inAppWallet,
|
4
|
+
walletConnect,
|
5
|
+
} from "../../wallets/native/create-wallet.js";
|
6
|
+
export { smartWallet } from "../../wallets/smart/smart-wallet.js";
|
7
|
+
|
8
|
+
export type { Wallet, Account } from "../../wallets/interfaces/wallet.js";
|
9
|
+
export type { ConnectionStatus } from "../../wallets/manager/index.js";
|
10
|
+
|
11
|
+
// utils
|
12
|
+
export {
|
13
|
+
getWalletBalance,
|
14
|
+
type GetWalletBalanceOptions,
|
15
|
+
} from "../../wallets/utils/getWalletBalance.js";
|
16
|
+
export {
|
17
|
+
generateAccount,
|
18
|
+
type GenerateAccountOptions,
|
19
|
+
} from "../../wallets/utils/generateAccount.js";
|
20
|
+
|
21
|
+
// private-key
|
22
|
+
export {
|
23
|
+
privateKeyToAccount,
|
24
|
+
/**
|
25
|
+
* @internal
|
26
|
+
* @deprecated - use {@link privateKeyToAccount} instead
|
27
|
+
*/
|
28
|
+
privateKeyToAccount as privateKeyAccount,
|
29
|
+
type PrivateKeyToAccountOptions,
|
30
|
+
/**
|
31
|
+
* @internal
|
32
|
+
* @deprecated - use {@link PrivateKeyToAccountOptions} instead
|
33
|
+
*/
|
34
|
+
type PrivateKeyToAccountOptions as PrivateKeyAccountOptions,
|
35
|
+
} from "../../wallets/private-key.js";
|
36
|
+
|
37
|
+
export type {
|
38
|
+
WalletId,
|
39
|
+
WalletAutoConnectionOption,
|
40
|
+
WalletCreationOptions,
|
41
|
+
WalletConnectionOption,
|
42
|
+
CreateWalletArgs,
|
43
|
+
} from "../../wallets/wallet-types.js";
|
44
|
+
|
45
|
+
export type {
|
46
|
+
WCSupportedWalletIds,
|
47
|
+
InjectedSupportedWalletIds,
|
48
|
+
} from "../../wallets/__generated__/wallet-ids.js";
|
49
|
+
|
50
|
+
export type {
|
51
|
+
WCConnectOptions,
|
52
|
+
WCAutoConnectOptions,
|
53
|
+
} from "../../wallets/wallet-connect/types.js";
|
54
|
+
|
55
|
+
export type {
|
56
|
+
SmartWalletConnectionOptions,
|
57
|
+
SmartWalletOptions,
|
58
|
+
} from "../../wallets/smart/types.js";
|
59
|
+
|
60
|
+
export type {
|
61
|
+
InAppWalletAuth,
|
62
|
+
/**
|
63
|
+
* @deprecated use InAppWalletAuth instead
|
64
|
+
*/
|
65
|
+
InAppWalletAuth as EmbeddedWalletAuth,
|
66
|
+
InAppWalletAutoConnectOptions,
|
67
|
+
/**
|
68
|
+
* @deprecated use InAppWalletAutoConnectOptions instead
|
69
|
+
*/
|
70
|
+
InAppWalletAutoConnectOptions as EmbeddedWalletAutoConnectOptions,
|
71
|
+
InAppWalletConnectionOptions,
|
72
|
+
/**
|
73
|
+
* @deprecated use InAppWalletConnectionOptions instead
|
74
|
+
*/
|
75
|
+
InAppWalletConnectionOptions as EmbeddedWalletConnectionOptions,
|
76
|
+
InAppWalletSocialAuth,
|
77
|
+
/**
|
78
|
+
* @deprecated use InAppWalletSocialAuth instead
|
79
|
+
*/
|
80
|
+
InAppWalletSocialAuth as EmbeddedWalletSocialAuth,
|
81
|
+
} from "../../wallets/in-app/core/wallet/types.js";
|
82
|
+
|
83
|
+
export type { CoinbaseSDKWalletConnectionOptions } from "../../wallets/coinbase/coinbaseSDKWallet.js";
|
84
|
+
|
85
|
+
export type {
|
86
|
+
WalletEmitter,
|
87
|
+
WalletEmitterEvents,
|
88
|
+
} from "../../wallets/wallet-emitter.js";
|
89
|
+
|
90
|
+
export { getAllWalletsList } from "../../wallets/getAllWalletsList.js";
|
91
|
+
export { getWalletInfo } from "../../wallets/__generated__/getWalletInfo.js";
|
92
|
+
export { type WalletInfo } from "../../wallets/wallet-info.js";
|
93
|
+
|
94
|
+
export { createWalletAdapter } from "../../adapters/wallet-adapter.js";
|
95
|
+
|
96
|
+
// NOT SUPPORTED
|
97
|
+
|
98
|
+
export const injectedProvider = () => {
|
99
|
+
throw new Error("Not supported in native");
|
100
|
+
};
|
package/src/exports/wallets.ts
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
export {
|
2
2
|
createWallet,
|
3
|
-
smartWallet,
|
4
3
|
inAppWallet,
|
5
4
|
/**
|
6
5
|
* @deprecated use inAppWallet instead
|
@@ -8,6 +7,7 @@ export {
|
|
8
7
|
inAppWallet as embeddedWallet,
|
9
8
|
walletConnect,
|
10
9
|
} from "../wallets/create-wallet.js";
|
10
|
+
export { smartWallet } from "../wallets/smart/smart-wallet.js";
|
11
11
|
|
12
12
|
export type { Wallet, Account } from "../wallets/interfaces/wallet.js";
|
13
13
|
export type { ConnectionStatus } from "../wallets/manager/index.js";
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.29.
|
1
|
+
export const version = "5.29.3-nightly-ffaff744f72d2cb22896e7501677b48f76ea857a-20240614184424";
|
@@ -0,0 +1,108 @@
|
|
1
|
+
/**
|
2
|
+
* internal helper functions
|
3
|
+
*/
|
4
|
+
|
5
|
+
import type { ProviderInterface } from "@coinbase/wallet-sdk";
|
6
|
+
import { trackConnect } from "../../analytics/track.js";
|
7
|
+
import type { Chain } from "../../chains/types.js";
|
8
|
+
import { COINBASE } from "../constants.js";
|
9
|
+
import type { Account, Wallet } from "../interfaces/wallet.js";
|
10
|
+
import { createWalletEmitter } from "../wallet-emitter.js";
|
11
|
+
import type { CreateWalletArgs } from "../wallet-types.js";
|
12
|
+
|
13
|
+
/**
|
14
|
+
* @internal
|
15
|
+
*/
|
16
|
+
export function coinbaseWalletSDK(args: {
|
17
|
+
createOptions?: CreateWalletArgs<typeof COINBASE>[1];
|
18
|
+
providerFactory: () => Promise<ProviderInterface>;
|
19
|
+
}): Wallet<typeof COINBASE> {
|
20
|
+
const { createOptions } = args;
|
21
|
+
const emitter = createWalletEmitter<typeof COINBASE>();
|
22
|
+
let account: Account | undefined = undefined;
|
23
|
+
let chain: Chain | undefined = undefined;
|
24
|
+
|
25
|
+
function reset() {
|
26
|
+
account = undefined;
|
27
|
+
chain = undefined;
|
28
|
+
}
|
29
|
+
|
30
|
+
let handleDisconnect = async () => {};
|
31
|
+
|
32
|
+
let handleSwitchChain = async (newChain: Chain) => {
|
33
|
+
chain = newChain;
|
34
|
+
};
|
35
|
+
|
36
|
+
const unsubscribeChainChanged = emitter.subscribe(
|
37
|
+
"chainChanged",
|
38
|
+
(newChain) => {
|
39
|
+
chain = newChain;
|
40
|
+
},
|
41
|
+
);
|
42
|
+
|
43
|
+
const unsubscribeDisconnect = emitter.subscribe("disconnect", () => {
|
44
|
+
reset();
|
45
|
+
unsubscribeChainChanged();
|
46
|
+
unsubscribeDisconnect();
|
47
|
+
});
|
48
|
+
|
49
|
+
emitter.subscribe("accountChanged", (_account) => {
|
50
|
+
account = _account;
|
51
|
+
});
|
52
|
+
|
53
|
+
return {
|
54
|
+
id: COINBASE,
|
55
|
+
subscribe: emitter.subscribe,
|
56
|
+
getChain: () => chain,
|
57
|
+
getConfig: () => createOptions,
|
58
|
+
getAccount: () => account,
|
59
|
+
autoConnect: async (options) => {
|
60
|
+
const { autoConnectCoinbaseWalletSDK } = await import(
|
61
|
+
"./coinbaseSDKWallet.js"
|
62
|
+
);
|
63
|
+
const provider = await args.providerFactory();
|
64
|
+
const [connectedAccount, connectedChain, doDisconnect, doSwitchChain] =
|
65
|
+
await autoConnectCoinbaseWalletSDK(options, emitter, provider);
|
66
|
+
// set the states
|
67
|
+
account = connectedAccount;
|
68
|
+
chain = connectedChain;
|
69
|
+
handleDisconnect = doDisconnect;
|
70
|
+
handleSwitchChain = doSwitchChain;
|
71
|
+
trackConnect({
|
72
|
+
client: options.client,
|
73
|
+
walletType: COINBASE,
|
74
|
+
walletAddress: account.address,
|
75
|
+
});
|
76
|
+
// return account
|
77
|
+
return account;
|
78
|
+
},
|
79
|
+
connect: async (options) => {
|
80
|
+
const { connectCoinbaseWalletSDK } = await import(
|
81
|
+
"./coinbaseSDKWallet.js"
|
82
|
+
);
|
83
|
+
const provider = await args.providerFactory();
|
84
|
+
const [connectedAccount, connectedChain, doDisconnect, doSwitchChain] =
|
85
|
+
await connectCoinbaseWalletSDK(options, emitter, provider);
|
86
|
+
|
87
|
+
// set the states
|
88
|
+
account = connectedAccount;
|
89
|
+
chain = connectedChain;
|
90
|
+
handleDisconnect = doDisconnect;
|
91
|
+
handleSwitchChain = doSwitchChain;
|
92
|
+
trackConnect({
|
93
|
+
client: options.client,
|
94
|
+
walletType: COINBASE,
|
95
|
+
walletAddress: account.address,
|
96
|
+
});
|
97
|
+
// return account
|
98
|
+
return account;
|
99
|
+
},
|
100
|
+
disconnect: async () => {
|
101
|
+
reset();
|
102
|
+
await handleDisconnect();
|
103
|
+
},
|
104
|
+
switchChain: async (newChain) => {
|
105
|
+
await handleSwitchChain(newChain);
|
106
|
+
},
|
107
|
+
};
|
108
|
+
}
|
@@ -1,7 +1,29 @@
|
|
1
1
|
import { configure } from "@coinbase/wallet-mobile-sdk";
|
2
|
+
import type { ProviderInterface } from "@coinbase/wallet-sdk";
|
2
3
|
import type { Chain } from "../../chains/types.js";
|
4
|
+
import type { COINBASE } from "../constants.js";
|
5
|
+
import type { CreateWalletArgs } from "../wallet-types.js";
|
3
6
|
|
4
|
-
|
7
|
+
let _provider: ProviderInterface | undefined;
|
8
|
+
|
9
|
+
/**
|
10
|
+
* @internal
|
11
|
+
*/
|
12
|
+
export async function getCoinbaseMobileProvider(
|
13
|
+
options?: CreateWalletArgs<typeof COINBASE>[1],
|
14
|
+
): Promise<ProviderInterface> {
|
15
|
+
if (!_provider) {
|
16
|
+
const mobileProvider: ProviderInterface = (await initMobileProvider({
|
17
|
+
chain: options?.chains ? options.chains[0] : undefined,
|
18
|
+
...options?.mobileConfig,
|
19
|
+
})) as unknown as ProviderInterface;
|
20
|
+
_provider = mobileProvider;
|
21
|
+
return mobileProvider;
|
22
|
+
}
|
23
|
+
return _provider;
|
24
|
+
}
|
25
|
+
|
26
|
+
async function initMobileProvider(args: {
|
5
27
|
chain?: Chain;
|
6
28
|
callbackURL?: string;
|
7
29
|
hostURL?: string;
|