thirdweb 5.29.2 → 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/version.js.map +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/version.js.map +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/version.d.ts.map +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
@@ -59,7 +59,7 @@ async function autoConnectInAppWallet(options, createOptions) {
|
|
59
59
|
exports.autoConnectInAppWallet = autoConnectInAppWallet;
|
60
60
|
async function convertToSmartAccount(options) {
|
61
61
|
const [{ smartWallet }, { connectSmartWallet }] = await Promise.all([
|
62
|
-
Promise.resolve().then(() => require("../../../
|
62
|
+
Promise.resolve().then(() => require("../../../smart/smart-wallet.js")),
|
63
63
|
Promise.resolve().then(() => require("../../../smart/index.js")),
|
64
64
|
]);
|
65
65
|
const sa = smartWallet(options.smartAccountOptions);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/index.ts"],"names":[],"mappings":";;;AAAA,kFAA4E;AAW5E;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,MAAwB;IAExB,OAAO,MAAM,CAAC,EAAE,KAAK,OAAO,IAAI,MAAM,CAAC,EAAE,KAAK,UAAU,CAAC;AAC3D,CAAC;AAJD,sCAIC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,OAAwC,EACxC,aAA2C;IAE3C,MAAM,EAAE,YAAY,EAAE,GAAG,2CAAa,4BAA4B,EAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;IAE5C,IAAI,aAAa,EAAE,YAAY,EAAE,CAAC;QAChC,OAAO,qBAAqB,CAAC;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW;YACX,mBAAmB,EAAE,aAAa,CAAC,YAAY;YAC/C,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,WAAW;QACX,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,YAAY,EAAE,KAAK,IAAI,sBAAQ;KACvD,CAAC;AACb,CAAC;AAtBD,gDAsBC;AAED;;GAEG;AACI,KAAK,UAAU,sBAAsB,CAC1C,OAA4C,EAC5C,aAA2C;IAE3C,MAAM,EAAE,oBAAoB,EAAE,GAAG,2CAAa,4BAA4B,EAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;IAEjC,IAAI,aAAa,EAAE,YAAY,EAAE,CAAC;QAChC,OAAO,qBAAqB,CAAC;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW;YACX,mBAAmB,EAAE,aAAa,CAAC,YAAY;YAC/C,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,WAAW;QACX,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,YAAY,EAAE,KAAK,IAAI,sBAAQ;KACvD,CAAC;AACb,CAAC;AAzBD,wDAyBC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAKpC;IACC,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;6CAC3D,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wallets/in-app/core/wallet/index.ts"],"names":[],"mappings":";;;AAAA,kFAA4E;AAW5E;;;;;GAKG;AACH,SAAgB,aAAa,CAC3B,MAAwB;IAExB,OAAO,MAAM,CAAC,EAAE,KAAK,OAAO,IAAI,MAAM,CAAC,EAAE,KAAK,UAAU,CAAC;AAC3D,CAAC;AAJD,sCAIC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,OAAwC,EACxC,aAA2C;IAE3C,MAAM,EAAE,YAAY,EAAE,GAAG,2CAAa,4BAA4B,EAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;IAE5C,IAAI,aAAa,EAAE,YAAY,EAAE,CAAC;QAChC,OAAO,qBAAqB,CAAC;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW;YACX,mBAAmB,EAAE,aAAa,CAAC,YAAY;YAC/C,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,WAAW;QACX,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,YAAY,EAAE,KAAK,IAAI,sBAAQ;KACvD,CAAC;AACb,CAAC;AAtBD,gDAsBC;AAED;;GAEG;AACI,KAAK,UAAU,sBAAsB,CAC1C,OAA4C,EAC5C,aAA2C;IAE3C,MAAM,EAAE,oBAAoB,EAAE,GAAG,2CAAa,4BAA4B,EAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;IAEjC,IAAI,aAAa,EAAE,YAAY,EAAE,CAAC;QAChC,OAAO,qBAAqB,CAAC;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW;YACX,mBAAmB,EAAE,aAAa,CAAC,YAAY;YAC/C,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,WAAW;QACX,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,YAAY,EAAE,KAAK,IAAI,sBAAQ;KACvD,CAAC;AACb,CAAC;AAzBD,wDAyBC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAKpC;IACC,MAAM,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;6CAC3D,gCAAgC;6CAChC,yBAAyB;KACjC,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACpD,OAAO,kBAAkB,CACvB,EAAE,EACF;QACE,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,eAAe,EAAE,OAAO,CAAC,WAAW;QACpC,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,EACD,OAAO,CAAC,mBAAmB,CAC5B,CAAC;AACJ,CAAC"}
|
@@ -5,7 +5,7 @@ const isSmartWallet_js_1 = require("../../react/web/utils/isSmartWallet.js");
|
|
5
5
|
const computedStore_js_1 = require("../../reactive/computedStore.js");
|
6
6
|
const effect_js_1 = require("../../reactive/effect.js");
|
7
7
|
const store_js_1 = require("../../reactive/store.js");
|
8
|
-
const
|
8
|
+
const smart_wallet_js_1 = require("../smart/smart-wallet.js");
|
9
9
|
const walletStorage_js_1 = require("../storage/walletStorage.js");
|
10
10
|
const CONNECTED_WALLET_IDS = "thirdweb:connected-wallet-ids";
|
11
11
|
const LAST_ACTIVE_EOA_ID = "thirdweb:active-wallet-id";
|
@@ -75,7 +75,7 @@ function createConnectionManager(storage) {
|
|
75
75
|
let activeWallet = personalWallet;
|
76
76
|
const isInAppSmartAccount = (0, isSmartWallet_js_1.hasSmartAccount)(wallet);
|
77
77
|
if (options?.accountAbstraction && !isInAppSmartAccount) {
|
78
|
-
activeWallet = (0,
|
78
|
+
activeWallet = (0, smart_wallet_js_1.smartWallet)(options.accountAbstraction);
|
79
79
|
await activeWallet.connect({
|
80
80
|
personalAccount: wallet.getAccount(),
|
81
81
|
client: options.client,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallets/manager/index.ts"],"names":[],"mappings":";;;AAEA,6EAAyE;AACzE,sEAAgE;AAChE,wDAAkD;AAClD,sDAAsD;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/wallets/manager/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,174 @@
|
|
1
|
+
"use strict";
|
2
|
+
// TODO: figure out how to define the type without tuple args type and using function overloads
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.walletConnect = exports.createWallet = void 0;
|
5
|
+
const track_js_1 = require("../../analytics/track.js");
|
6
|
+
const coinbase_wallet_js_1 = require("../coinbase/coinbase-wallet.js");
|
7
|
+
const coinbaseMobileSDK_js_1 = require("../coinbase/coinbaseMobileSDK.js");
|
8
|
+
const constants_js_1 = require("../constants.js");
|
9
|
+
const smart_wallet_js_1 = require("../smart/smart-wallet.js");
|
10
|
+
const wallet_emitter_js_1 = require("../wallet-emitter.js");
|
11
|
+
/**
|
12
|
+
* Creates a wallet based on the provided ID and arguments.
|
13
|
+
* @param args - The arguments for creating the wallet.
|
14
|
+
* @returns - The created wallet.
|
15
|
+
* @example
|
16
|
+
* ```ts
|
17
|
+
* import { createWallet } from "thirdweb/wallets";
|
18
|
+
*
|
19
|
+
* const metamaskWallet = createWallet("io.metamask");
|
20
|
+
*
|
21
|
+
* const account = await metamaskWallet.connect({
|
22
|
+
* client,
|
23
|
+
* });
|
24
|
+
* ```
|
25
|
+
* @wallet
|
26
|
+
*/
|
27
|
+
function createWallet(...args) {
|
28
|
+
const [id, creationOptions] = args;
|
29
|
+
switch (id) {
|
30
|
+
/**
|
31
|
+
* SMART WALLET
|
32
|
+
*/
|
33
|
+
case "smart": {
|
34
|
+
// same as web
|
35
|
+
return (0, smart_wallet_js_1.smartWallet)(creationOptions);
|
36
|
+
}
|
37
|
+
/**
|
38
|
+
* IN-APP WALLET
|
39
|
+
*/
|
40
|
+
case "embedded":
|
41
|
+
case "inApp": {
|
42
|
+
// TODO pass RN connector
|
43
|
+
throw new Error("TODO");
|
44
|
+
// return inAppWallet(
|
45
|
+
// creationOptions as CreateWalletArgs<"inApp">[1],
|
46
|
+
// ) as Wallet<ID>;
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* COINBASE WALLET VIA SDK
|
50
|
+
* -> if no injected coinbase found, we'll use the coinbase SDK
|
51
|
+
*/
|
52
|
+
case constants_js_1.COINBASE: {
|
53
|
+
const options = creationOptions;
|
54
|
+
return (0, coinbase_wallet_js_1.coinbaseWalletSDK)({
|
55
|
+
createOptions: options,
|
56
|
+
providerFactory: () => (0, coinbaseMobileSDK_js_1.getCoinbaseMobileProvider)(options),
|
57
|
+
});
|
58
|
+
}
|
59
|
+
/**
|
60
|
+
* WALLET CONNECT AND INJECTED WALLETS + walletConnect standalone
|
61
|
+
* TODO extract into a core + inject storage and link open callback
|
62
|
+
*/
|
63
|
+
default: {
|
64
|
+
const emitter = (0, wallet_emitter_js_1.createWalletEmitter)();
|
65
|
+
let account = undefined;
|
66
|
+
let chain = undefined;
|
67
|
+
const unsubscribeChain = emitter.subscribe("chainChanged", (newChain) => {
|
68
|
+
chain = newChain;
|
69
|
+
});
|
70
|
+
function reset() {
|
71
|
+
account = undefined;
|
72
|
+
chain = undefined;
|
73
|
+
}
|
74
|
+
let handleDisconnect = async () => { };
|
75
|
+
const unsubscribeDisconnect = emitter.subscribe("disconnect", () => {
|
76
|
+
reset();
|
77
|
+
unsubscribeChain();
|
78
|
+
unsubscribeDisconnect();
|
79
|
+
});
|
80
|
+
emitter.subscribe("accountChanged", (_account) => {
|
81
|
+
account = _account;
|
82
|
+
});
|
83
|
+
let handleSwitchChain = async () => {
|
84
|
+
throw new Error("Not implemented yet");
|
85
|
+
};
|
86
|
+
const wallet = {
|
87
|
+
id,
|
88
|
+
subscribe: emitter.subscribe,
|
89
|
+
getConfig: () => args[1],
|
90
|
+
getChain: () => chain,
|
91
|
+
getAccount: () => account,
|
92
|
+
autoConnect: async (options) => {
|
93
|
+
if (options && "client" in options) {
|
94
|
+
const { autoConnectWC } = await Promise.resolve().then(() => require("../wallet-connect/controller.js"));
|
95
|
+
const [connectedAccount, connectedChain, doDisconnect, doSwitchChain,] = await autoConnectWC(options, emitter, wallet.id);
|
96
|
+
// set the states
|
97
|
+
account = connectedAccount;
|
98
|
+
chain = connectedChain;
|
99
|
+
handleDisconnect = doDisconnect;
|
100
|
+
handleSwitchChain = doSwitchChain;
|
101
|
+
(0, track_js_1.trackConnect)({
|
102
|
+
client: options.client,
|
103
|
+
walletType: id,
|
104
|
+
walletAddress: account.address,
|
105
|
+
});
|
106
|
+
// return account
|
107
|
+
return account;
|
108
|
+
}
|
109
|
+
throw new Error("Failed to auto connect");
|
110
|
+
},
|
111
|
+
connect: async (options) => {
|
112
|
+
async function wcConnect(wcOptions) {
|
113
|
+
const { connectWC } = await Promise.resolve().then(() => require("../wallet-connect/controller.js"));
|
114
|
+
const [connectedAccount, connectedChain, doDisconnect, doSwitchChain,] = await connectWC(wcOptions, emitter, wallet.id);
|
115
|
+
// set the states
|
116
|
+
account = connectedAccount;
|
117
|
+
chain = connectedChain;
|
118
|
+
handleDisconnect = doDisconnect;
|
119
|
+
handleSwitchChain = doSwitchChain;
|
120
|
+
(0, track_js_1.trackConnect)({
|
121
|
+
client: wcOptions.client,
|
122
|
+
walletType: id,
|
123
|
+
walletAddress: account.address,
|
124
|
+
});
|
125
|
+
return account;
|
126
|
+
}
|
127
|
+
if (id === "walletConnect") {
|
128
|
+
const { client, chain: _chain, ...walletConnectOptions } = options;
|
129
|
+
return wcConnect({
|
130
|
+
client,
|
131
|
+
chain: _chain,
|
132
|
+
walletConnect: {
|
133
|
+
...walletConnectOptions,
|
134
|
+
},
|
135
|
+
});
|
136
|
+
}
|
137
|
+
if (options && "client" in options) {
|
138
|
+
return wcConnect(options);
|
139
|
+
}
|
140
|
+
throw new Error("Failed to connect");
|
141
|
+
},
|
142
|
+
// these get overridden in connect and autoConnect
|
143
|
+
disconnect: async () => {
|
144
|
+
reset();
|
145
|
+
await handleDisconnect();
|
146
|
+
},
|
147
|
+
switchChain: (c) => handleSwitchChain(c),
|
148
|
+
};
|
149
|
+
return wallet;
|
150
|
+
}
|
151
|
+
}
|
152
|
+
}
|
153
|
+
exports.createWallet = createWallet;
|
154
|
+
/**
|
155
|
+
* Creates a wallet that allows connecting to any wallet that supports the WalletConnect protocol.
|
156
|
+
* @returns The created smart wallet.
|
157
|
+
* @example
|
158
|
+
* ```ts
|
159
|
+
* import { walletConnect } from "thirdweb/wallets";
|
160
|
+
*
|
161
|
+
* const wallet = walletConnect();
|
162
|
+
*
|
163
|
+
* const account = await wallet.connect({
|
164
|
+
* client
|
165
|
+
* });
|
166
|
+
* ```
|
167
|
+
* @wallet
|
168
|
+
*/
|
169
|
+
function walletConnect() {
|
170
|
+
return createWallet("walletConnect");
|
171
|
+
}
|
172
|
+
exports.walletConnect = walletConnect;
|
173
|
+
// TODO in-app wallet
|
174
|
+
//# sourceMappingURL=create-wallet.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"create-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/native/create-wallet.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,103 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.smartWallet = void 0;
|
4
|
+
const track_js_1 = require("../../analytics/track.js");
|
5
|
+
const contract_js_1 = require("../../contract/contract.js");
|
6
|
+
const is_contract_deployed_js_1 = require("../../utils/bytecode/is-contract-deployed.js");
|
7
|
+
const wallet_emitter_js_1 = require("../wallet-emitter.js");
|
8
|
+
const constants_js_1 = require("./lib/constants.js");
|
9
|
+
/**
|
10
|
+
* Creates a smart wallet.
|
11
|
+
* @param createOptions - The options for creating the wallet.
|
12
|
+
* @returns The created smart wallet.
|
13
|
+
* @example
|
14
|
+
* ```ts
|
15
|
+
* import { smartWallet } from "thirdweb/wallets";
|
16
|
+
*
|
17
|
+
* const wallet = smartWallet({
|
18
|
+
* chain: sepolia,
|
19
|
+
* gasless: true,
|
20
|
+
* });
|
21
|
+
*
|
22
|
+
* const account = await wallet.connect({
|
23
|
+
* client,
|
24
|
+
* personalAccount: account,
|
25
|
+
* });
|
26
|
+
* ```
|
27
|
+
* @wallet
|
28
|
+
*/
|
29
|
+
function smartWallet(createOptions) {
|
30
|
+
const emitter = (0, wallet_emitter_js_1.createWalletEmitter)();
|
31
|
+
let account = undefined;
|
32
|
+
let chain = undefined;
|
33
|
+
let lastConnectOptions;
|
34
|
+
const _smartWallet = {
|
35
|
+
id: "smart",
|
36
|
+
subscribe: emitter.subscribe,
|
37
|
+
getChain: () => chain,
|
38
|
+
getConfig: () => createOptions,
|
39
|
+
getAccount: () => account,
|
40
|
+
autoConnect: async (options) => {
|
41
|
+
const { connectSmartWallet } = await Promise.resolve().then(() => require("./index.js"));
|
42
|
+
const [connectedAccount, connectedChain] = await connectSmartWallet(_smartWallet, options, createOptions);
|
43
|
+
// set the states
|
44
|
+
lastConnectOptions = options;
|
45
|
+
account = connectedAccount;
|
46
|
+
chain = connectedChain;
|
47
|
+
(0, track_js_1.trackConnect)({
|
48
|
+
client: options.client,
|
49
|
+
walletType: "smart",
|
50
|
+
walletAddress: account.address,
|
51
|
+
});
|
52
|
+
// return account
|
53
|
+
return account;
|
54
|
+
},
|
55
|
+
connect: async (options) => {
|
56
|
+
const { connectSmartWallet } = await Promise.resolve().then(() => require("./index.js"));
|
57
|
+
const [connectedAccount, connectedChain] = await connectSmartWallet(_smartWallet, options, createOptions);
|
58
|
+
// set the states
|
59
|
+
lastConnectOptions = options;
|
60
|
+
account = connectedAccount;
|
61
|
+
chain = connectedChain;
|
62
|
+
(0, track_js_1.trackConnect)({
|
63
|
+
client: options.client,
|
64
|
+
walletType: "smart",
|
65
|
+
walletAddress: account.address,
|
66
|
+
});
|
67
|
+
// return account
|
68
|
+
emitter.emit("accountChanged", account);
|
69
|
+
return account;
|
70
|
+
},
|
71
|
+
disconnect: async () => {
|
72
|
+
account = undefined;
|
73
|
+
chain = undefined;
|
74
|
+
const { disconnectSmartWallet } = await Promise.resolve().then(() => require("./index.js"));
|
75
|
+
await disconnectSmartWallet(_smartWallet);
|
76
|
+
emitter.emit("disconnect", undefined);
|
77
|
+
},
|
78
|
+
switchChain: async (newChain) => {
|
79
|
+
if (!lastConnectOptions) {
|
80
|
+
throw new Error("Cannot switch chain without a previous connection");
|
81
|
+
}
|
82
|
+
// check if factory is deployed
|
83
|
+
const factory = (0, contract_js_1.getContract)({
|
84
|
+
address: createOptions.factoryAddress || constants_js_1.DEFAULT_ACCOUNT_FACTORY,
|
85
|
+
chain: newChain,
|
86
|
+
client: lastConnectOptions.client,
|
87
|
+
});
|
88
|
+
const isDeployed = await (0, is_contract_deployed_js_1.isContractDeployed)(factory);
|
89
|
+
if (!isDeployed) {
|
90
|
+
throw new Error(`Factory contract not deployed on chain: ${newChain.id}`);
|
91
|
+
}
|
92
|
+
const { connectSmartWallet } = await Promise.resolve().then(() => require("./index.js"));
|
93
|
+
const [connectedAccount, connectedChain] = await connectSmartWallet(_smartWallet, { ...lastConnectOptions, chain: newChain }, createOptions);
|
94
|
+
// set the states
|
95
|
+
account = connectedAccount;
|
96
|
+
chain = connectedChain;
|
97
|
+
emitter.emit("chainChanged", newChain);
|
98
|
+
},
|
99
|
+
};
|
100
|
+
return _smartWallet;
|
101
|
+
}
|
102
|
+
exports.smartWallet = smartWallet;
|
103
|
+
//# sourceMappingURL=smart-wallet.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"smart-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/smart/smart-wallet.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
export { createWallet,
|
2
|
+
// TODO (rn) inAppWallet,
|
3
|
+
walletConnect, } from "../../wallets/native/create-wallet.js";
|
4
|
+
export { smartWallet } from "../../wallets/smart/smart-wallet.js";
|
5
|
+
// utils
|
6
|
+
export { getWalletBalance, } from "../../wallets/utils/getWalletBalance.js";
|
7
|
+
export { generateAccount, } from "../../wallets/utils/generateAccount.js";
|
8
|
+
// private-key
|
9
|
+
export { privateKeyToAccount,
|
10
|
+
/**
|
11
|
+
* @internal
|
12
|
+
* @deprecated - use {@link privateKeyToAccount} instead
|
13
|
+
*/
|
14
|
+
privateKeyToAccount as privateKeyAccount, } from "../../wallets/private-key.js";
|
15
|
+
export { getAllWalletsList } from "../../wallets/getAllWalletsList.js";
|
16
|
+
export { getWalletInfo } from "../../wallets/__generated__/getWalletInfo.js";
|
17
|
+
export {} from "../../wallets/wallet-info.js";
|
18
|
+
export { createWalletAdapter } from "../../adapters/wallet-adapter.js";
|
19
|
+
// NOT SUPPORTED
|
20
|
+
export const injectedProvider = () => {
|
21
|
+
throw new Error("Not supported in native");
|
22
|
+
};
|
23
|
+
//# sourceMappingURL=wallets.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"wallets.js","sourceRoot":"","sources":["../../../../src/exports/react-native/wallets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY;AACZ,yBAAyB;AACzB,aAAa,GACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAKlE,QAAQ;AACR,OAAO,EACL,gBAAgB,GAEjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,eAAe,GAEhB,MAAM,wCAAwC,CAAC;AAEhD,cAAc;AACd,OAAO,EACL,mBAAmB;AACnB;;;GAGG;AACH,mBAAmB,IAAI,iBAAiB,GAOzC,MAAM,8BAA8B,CAAC;AAuDtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAmB,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,gBAAgB;AAEhB,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC7C,CAAC,CAAC"}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
export { smartWallet } from "../../wallets/
|
1
|
+
export { smartWallet } from "../../wallets/smart/smart-wallet.js";
|
2
2
|
export { ENTRYPOINT_ADDRESS_v0_6, DEFAULT_ACCOUNT_FACTORY, } from "../../wallets/smart/lib/constants.js";
|
3
3
|
//# sourceMappingURL=smart.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"smart.js","sourceRoot":"","sources":["../../../../src/exports/wallets/smart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"smart.js","sourceRoot":"","sources":["../../../../src/exports/wallets/smart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AASlE,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
|
// utils
|
7
8
|
export { getWalletBalance, } from "../wallets/utils/getWalletBalance.js";
|
8
9
|
export { generateAccount, } from "../wallets/utils/generateAccount.js";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wallets.js","sourceRoot":"","sources":["../../../src/exports/wallets.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW
|
1
|
+
{"version":3,"file":"wallets.js","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;AAK/D,QAAQ;AACR,OAAO,EACL,gBAAgB,GAEjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,eAAe,GAEhB,MAAM,qCAAqC,CAAC;AAE7C,cAAc;AACd,OAAO,EACL,mBAAmB;AACnB;;;GAGG;AACH,mBAAmB,IAAI,iBAAiB,GAOzC,MAAM,2BAA2B,CAAC;AAEnC,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAuDpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAmB,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/esm/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = "5.29.
|
1
|
+
export const version = "5.29.3-nightly-ffaff744f72d2cb22896e7501677b48f76ea857a-20240614184424";
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/esm/version.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,wEAAwE,CAAC"}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
/**
|
2
|
+
* internal helper functions
|
3
|
+
*/
|
4
|
+
import { trackConnect } from "../../analytics/track.js";
|
5
|
+
import { COINBASE } from "../constants.js";
|
6
|
+
import { createWalletEmitter } from "../wallet-emitter.js";
|
7
|
+
/**
|
8
|
+
* @internal
|
9
|
+
*/
|
10
|
+
export function coinbaseWalletSDK(args) {
|
11
|
+
const { createOptions } = args;
|
12
|
+
const emitter = createWalletEmitter();
|
13
|
+
let account = undefined;
|
14
|
+
let chain = undefined;
|
15
|
+
function reset() {
|
16
|
+
account = undefined;
|
17
|
+
chain = undefined;
|
18
|
+
}
|
19
|
+
let handleDisconnect = async () => { };
|
20
|
+
let handleSwitchChain = async (newChain) => {
|
21
|
+
chain = newChain;
|
22
|
+
};
|
23
|
+
const unsubscribeChainChanged = emitter.subscribe("chainChanged", (newChain) => {
|
24
|
+
chain = newChain;
|
25
|
+
});
|
26
|
+
const unsubscribeDisconnect = emitter.subscribe("disconnect", () => {
|
27
|
+
reset();
|
28
|
+
unsubscribeChainChanged();
|
29
|
+
unsubscribeDisconnect();
|
30
|
+
});
|
31
|
+
emitter.subscribe("accountChanged", (_account) => {
|
32
|
+
account = _account;
|
33
|
+
});
|
34
|
+
return {
|
35
|
+
id: COINBASE,
|
36
|
+
subscribe: emitter.subscribe,
|
37
|
+
getChain: () => chain,
|
38
|
+
getConfig: () => createOptions,
|
39
|
+
getAccount: () => account,
|
40
|
+
autoConnect: async (options) => {
|
41
|
+
const { autoConnectCoinbaseWalletSDK } = await import("./coinbaseSDKWallet.js");
|
42
|
+
const provider = await args.providerFactory();
|
43
|
+
const [connectedAccount, connectedChain, doDisconnect, doSwitchChain] = await autoConnectCoinbaseWalletSDK(options, emitter, provider);
|
44
|
+
// set the states
|
45
|
+
account = connectedAccount;
|
46
|
+
chain = connectedChain;
|
47
|
+
handleDisconnect = doDisconnect;
|
48
|
+
handleSwitchChain = doSwitchChain;
|
49
|
+
trackConnect({
|
50
|
+
client: options.client,
|
51
|
+
walletType: COINBASE,
|
52
|
+
walletAddress: account.address,
|
53
|
+
});
|
54
|
+
// return account
|
55
|
+
return account;
|
56
|
+
},
|
57
|
+
connect: async (options) => {
|
58
|
+
const { connectCoinbaseWalletSDK } = await import("./coinbaseSDKWallet.js");
|
59
|
+
const provider = await args.providerFactory();
|
60
|
+
const [connectedAccount, connectedChain, doDisconnect, doSwitchChain] = await connectCoinbaseWalletSDK(options, emitter, provider);
|
61
|
+
// set the states
|
62
|
+
account = connectedAccount;
|
63
|
+
chain = connectedChain;
|
64
|
+
handleDisconnect = doDisconnect;
|
65
|
+
handleSwitchChain = doSwitchChain;
|
66
|
+
trackConnect({
|
67
|
+
client: options.client,
|
68
|
+
walletType: COINBASE,
|
69
|
+
walletAddress: account.address,
|
70
|
+
});
|
71
|
+
// return account
|
72
|
+
return account;
|
73
|
+
},
|
74
|
+
disconnect: async () => {
|
75
|
+
reset();
|
76
|
+
await handleDisconnect();
|
77
|
+
},
|
78
|
+
switchChain: async (newChain) => {
|
79
|
+
await handleSwitchChain(newChain);
|
80
|
+
},
|
81
|
+
};
|
82
|
+
}
|
83
|
+
//# sourceMappingURL=coinbase-wallet.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"coinbase-wallet.js","sourceRoot":"","sources":["../../../../src/wallets/coinbase/coinbase-wallet.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,20 @@
|
|
1
1
|
import { configure } from "@coinbase/wallet-mobile-sdk";
|
2
|
-
|
2
|
+
let _provider;
|
3
|
+
/**
|
4
|
+
* @internal
|
5
|
+
*/
|
6
|
+
export async function getCoinbaseMobileProvider(options) {
|
7
|
+
if (!_provider) {
|
8
|
+
const mobileProvider = (await initMobileProvider({
|
9
|
+
chain: options?.chains ? options.chains[0] : undefined,
|
10
|
+
...options?.mobileConfig,
|
11
|
+
}));
|
12
|
+
_provider = mobileProvider;
|
13
|
+
return mobileProvider;
|
14
|
+
}
|
15
|
+
return _provider;
|
16
|
+
}
|
17
|
+
async function initMobileProvider(args) {
|
3
18
|
configure({
|
4
19
|
callbackURL: new URL(args.callbackURL || "https://thirdweb.com/wsegue"),
|
5
20
|
hostURL: new URL(args.hostURL || "https://wallet.coinbase.com/wsegue"),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"coinbaseMobileSDK.js","sourceRoot":"","sources":["../../../../src/wallets/coinbase/coinbaseMobileSDK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;
|
1
|
+
{"version":3,"file":"coinbaseMobileSDK.js","sourceRoot":"","sources":["../../../../src/wallets/coinbase/coinbaseMobileSDK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAMxD,IAAI,SAAwC,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAA8C;IAE9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,cAAc,GAAsB,CAAC,MAAM,kBAAkB,CAAC;YAClE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YACtD,GAAG,OAAO,EAAE,YAAY;SACzB,CAAC,CAAiC,CAAC;QACpC,SAAS,GAAG,cAAc,CAAC;QAC3B,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,IAKjC;IACC,SAAS,CAAC;QACR,WAAW,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,6BAA6B,CAAC;QACvE,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,oCAAoC,CAAC;QACtE,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,WAAW;KACrD,CAAC,CAAC;IACH,IAAI,uBAAuB,GAAG,CAC5B,MAAM,MAAM;IACV,0CAA0C;IAC1C,8DAA8D,CAC/D,CACF,CAAC,0BAA0B,CAAC;IAC7B,IACE,OAAO,uBAAuB,KAAK,UAAU;QAC7C,0CAA0C;QAC1C,OAAO,uBAAuB,CAAC,OAAO,KAAK,UAAU,EACrD,CAAC;QACD,uBAAuB,GACrB,uBAGD,CAAC,OAAO,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,uBAAuB,CAAC;QACjC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG;QAC3B,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE;KACxB,CAAC,CAAC;AACL,CAAC"}
|
@@ -5,24 +5,17 @@ import { normalizeChainId } from "../utils/normalizeChainId.js";
|
|
5
5
|
import { getCachedChain, getChainMetadata } from "../../chains/utils.js";
|
6
6
|
import { getAddress } from "../../utils/address.js";
|
7
7
|
import { numberToHex, stringToHex, uint8ArrayToHex, } from "../../utils/encoding/hex.js";
|
8
|
-
import { isReactNative } from "../../utils/platform.js";
|
9
8
|
import { parseTypedData } from "../../utils/signatures/helpers/parseTypedData.js";
|
10
9
|
import { COINBASE } from "../constants.js";
|
11
10
|
import { getDefaultAppMetadata } from "../utils/defaultDappMetadata.js";
|
12
11
|
// Need to keep the provider around because it keeps a single popup window connection behind the scenes
|
13
12
|
// this should be ok since all the creation options are provided at build time
|
14
13
|
let _provider;
|
15
|
-
|
14
|
+
/**
|
15
|
+
* @internal
|
16
|
+
*/
|
17
|
+
export async function getCoinbaseWebProvider(options) {
|
16
18
|
if (!_provider) {
|
17
|
-
if (isReactNative()) {
|
18
|
-
const { initMobileProvider } = require("./coinbaseMobileSDK.js");
|
19
|
-
const mobileProvider = initMobileProvider({
|
20
|
-
chain: options?.chains ? options.chains[0] : undefined,
|
21
|
-
...options?.mobileConfig,
|
22
|
-
});
|
23
|
-
_provider = mobileProvider;
|
24
|
-
return mobileProvider;
|
25
|
-
}
|
26
19
|
const client = new CoinbaseWalletSDK({
|
27
20
|
appName: options?.appMetadata?.name || getDefaultAppMetadata().name,
|
28
21
|
appChainIds: options?.chains
|
@@ -57,7 +50,7 @@ export async function coinbaseSDKWalletGetCapabilities(args) {
|
|
57
50
|
};
|
58
51
|
}
|
59
52
|
const config = wallet.getConfig();
|
60
|
-
const provider = await
|
53
|
+
const provider = await getCoinbaseWebProvider(config);
|
61
54
|
try {
|
62
55
|
return (await provider.request({
|
63
56
|
method: "wallet_getCapabilities",
|
@@ -79,7 +72,7 @@ export async function coinbaseSDKWalletGetCapabilities(args) {
|
|
79
72
|
export async function coinbaseSDKWalletSendCalls(args) {
|
80
73
|
const { wallet, params } = args;
|
81
74
|
const config = wallet.getConfig();
|
82
|
-
const provider = await
|
75
|
+
const provider = await getCoinbaseWebProvider(config);
|
83
76
|
try {
|
84
77
|
return (await provider.request({
|
85
78
|
method: "wallet_sendCalls",
|
@@ -98,7 +91,7 @@ export async function coinbaseSDKWalletSendCalls(args) {
|
|
98
91
|
*/
|
99
92
|
export async function coinbaseSDKWalletShowCallsStatus(args) {
|
100
93
|
const { wallet, bundleId } = args;
|
101
|
-
const provider = await
|
94
|
+
const provider = await getCoinbaseWebProvider(wallet.getConfig());
|
102
95
|
try {
|
103
96
|
return await provider.request({
|
104
97
|
method: "wallet_showCallsStatus",
|
@@ -118,7 +111,7 @@ export async function coinbaseSDKWalletShowCallsStatus(args) {
|
|
118
111
|
export async function coinbaseSDKWalletGetCallsStatus(args) {
|
119
112
|
const { wallet, bundleId } = args;
|
120
113
|
const config = wallet.getConfig();
|
121
|
-
const provider = await
|
114
|
+
const provider = await getCoinbaseWebProvider(config);
|
122
115
|
return provider.request({
|
123
116
|
method: "wallet_getCallsStatus",
|
124
117
|
params: [bundleId],
|
@@ -230,8 +223,7 @@ function onConnect(address, chain, provider, emitter) {
|
|
230
223
|
/**
|
231
224
|
* @internal
|
232
225
|
*/
|
233
|
-
export async function connectCoinbaseWalletSDK(options,
|
234
|
-
const provider = await getCoinbaseProvider(createOptions);
|
226
|
+
export async function connectCoinbaseWalletSDK(options, emitter, provider) {
|
235
227
|
const accounts = (await provider.request({
|
236
228
|
method: "eth_requestAccounts",
|
237
229
|
}));
|
@@ -258,8 +250,7 @@ export async function connectCoinbaseWalletSDK(options, createOptions, emitter)
|
|
258
250
|
/**
|
259
251
|
* @internal
|
260
252
|
*/
|
261
|
-
export async function autoConnectCoinbaseWalletSDK(options,
|
262
|
-
const provider = await getCoinbaseProvider(createOptions);
|
253
|
+
export async function autoConnectCoinbaseWalletSDK(options, emitter, provider) {
|
263
254
|
// connected accounts
|
264
255
|
const addresses = (await provider.request({
|
265
256
|
method: "eth_accounts",
|