@etherplay/connect 0.0.15 → 0.0.16
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/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +111 -64
- package/dist/index.js.map +1 -1
- package/dist/provider.d.ts +1 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +1 -1
- package/dist/provider.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +162 -100
- package/src/provider.ts +5 -2
package/dist/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export type Mechanism = AlchemyMechanism | WalletMechanism<string | undefined, `
|
|
|
22
22
|
export type FullfilledMechanism = AlchemyMechanism | WalletMechanism<string, `0x${string}`>;
|
|
23
23
|
export type WalletState = {
|
|
24
24
|
provider: EIP1193WindowWalletProvider;
|
|
25
|
+
accounts: `0x${string}`[];
|
|
25
26
|
accountChanged?: `0x${string}`;
|
|
26
27
|
chainId: string;
|
|
27
28
|
invalidChainId: boolean;
|
|
@@ -61,6 +62,10 @@ export type Connection = {
|
|
|
61
62
|
step: 'WaitingForWalletConnection';
|
|
62
63
|
wallet: undefined;
|
|
63
64
|
mechanism: WalletMechanism<string, undefined>;
|
|
65
|
+
} | {
|
|
66
|
+
step: 'ChooseWalletAccount';
|
|
67
|
+
mechanism: WalletMechanism<string, undefined>;
|
|
68
|
+
wallet: WalletState;
|
|
64
69
|
} | {
|
|
65
70
|
step: 'WalletConnected';
|
|
66
71
|
mechanism: WalletMechanism<string, `0x${string}`>;
|
|
@@ -115,7 +120,9 @@ export declare function createConnection(settings: {
|
|
|
115
120
|
cancel: () => void;
|
|
116
121
|
back: (step: "MechanismToChoose" | "Idle" | "WalletToChoose") => void;
|
|
117
122
|
requestSignature: () => Promise<void>;
|
|
118
|
-
|
|
123
|
+
connecToAddress: (address: `0x${string}`, options?: {
|
|
124
|
+
requireUserConfirmationBeforeSignatureRequest: boolean;
|
|
125
|
+
}) => void;
|
|
119
126
|
disconnect: () => void;
|
|
120
127
|
getSignatureForPublicKeyPublication: () => Promise<`0x${string}`>;
|
|
121
128
|
switchWalletChain: (chainId: string, config?: {
|
|
@@ -3249,6 +3256,7 @@ export declare function createConnection(settings: {
|
|
|
3249
3256
|
}): Promise<U["result"]>;
|
|
3250
3257
|
} & {
|
|
3251
3258
|
setWalletProvider: (walletProvider: EIP1193WindowWalletProvider | undefined) => void;
|
|
3259
|
+
setWalletStatus: (newStatus: "connected" | "locked" | "disconnected") => void;
|
|
3252
3260
|
} & {
|
|
3253
3261
|
chainId: string;
|
|
3254
3262
|
};
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAGxE,OAAO,KAAK,EAAC,cAAc,EAAE,2BAA2B,EAAC,MAAM,UAAU,CAAC;AAC1E,OAAO,EACN,wBAAwB,EAGxB,gBAAgB,EAChB,iCAAiC,EACjC,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAC,wBAAwB,EAAE,iCAAiC,EAAE,gBAAgB,EAAC,CAAC;AACvF,YAAY,EAAC,aAAa,EAAC,CAAC;AAE5B,MAAM,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,gBAAgB,CAAC;CAE5B,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,UAAU,SAAS,MAAM,GAAG,SAAS,EAAE,OAAO,SAAS,KAAK,MAAM,EAAE,GAAG,SAAS,IAAI;IAC/G,IAAI,EAAE,QAAQ,CAAC;CACf,GAAG,CAAC,UAAU,SAAS,SAAS,GAAG;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,CAAC,GAC3E,CAAC,OAAO,SAAS,SAAS,GAAG;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAC,GAAG;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC;AAE1E,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,eAAe,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAE1G,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;AAE5F,MAAM,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAGxE,OAAO,KAAK,EAAC,cAAc,EAAE,2BAA2B,EAAC,MAAM,UAAU,CAAC;AAC1E,OAAO,EACN,wBAAwB,EAGxB,gBAAgB,EAChB,iCAAiC,EACjC,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAC,wBAAwB,EAAE,iCAAiC,EAAE,gBAAgB,EAAC,CAAC;AACvF,YAAY,EAAC,aAAa,EAAC,CAAC;AAE5B,MAAM,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,gBAAgB,CAAC;CAE5B,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,UAAU,SAAS,MAAM,GAAG,SAAS,EAAE,OAAO,SAAS,KAAK,MAAM,EAAE,GAAG,SAAS,IAAI;IAC/G,IAAI,EAAE,QAAQ,CAAC;CACf,GAAG,CAAC,UAAU,SAAS,SAAS,GAAG;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,CAAC,GAC3E,CAAC,OAAO,SAAS,SAAS,GAAG;IAAC,OAAO,CAAC,EAAE,SAAS,CAAA;CAAC,GAAG;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC;AAE1E,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,eAAe,CAAC,MAAM,GAAG,SAAS,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAE1G,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;AAE5F,MAAM,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,2BAA2B,CAAC;IACtC,QAAQ,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,aAAa,GAAG,gBAAgB,GAAG,KAAK,CAAC;CACzD,GAAG,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAC,GAAG;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC,GAAG;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC;AAErH,MAAM,MAAM,UAAU,GAAG;IAIxB,KAAK,CAAC,EAAE;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAC,CAAC;IAEvC,OAAO,EAAE,qBAAqB,EAAE,CAAC;CACjC,GAAG,CACD;IACA,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;CACjB,GAED;IACA,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,SAAS,CAAC;CACjB,GAGD;IACA,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;CAC3B,GAED;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAChD,GAED;IACA,IAAI,EAAE,4BAA4B,CAAC;IACnC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC7C,GAGD;IACA,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,EAAE,WAAW,CAAC;CACnB,GAGD;IACA,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE,WAAW,CAAC;CACnB,GAED;IACA,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE,WAAW,CAAC;CACnB,GAMD;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,SAAS,CAAC;CACjB,GACD;IACA,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC;CACnB,CACH,CAAC;AAEF,UAAU,mBAAmB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,UAAU,qBAAqB;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,2BAA2B,CAAC;CACtC;AAED,MAAM,WAAW,4BAA6B,SAAQ,WAAW;IAChE,IAAI,EAAE,0BAA0B,CAAC;IACjC,MAAM,EAAE,qBAAqB,CAAC;CAC9B;AAID,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uCAAuC,CAAC,EAAE,OAAO,CAAC;IAClD,IAAI,EAAE;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;CACrG;;0BAwZa,SAAS,YACX;QACT,6CAA6C,CAAC,EAAE,OAAO,CAAC;QACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,yBAAyB,CAAC,EAAE,OAAO,CAAC;KACpC;;iBAiRkB,mBAAmB,GAAG,MAAM,GAAG,gBAAgB;;+BAvYjC,KAAK,MAAM,EAAE,YAAY;QAAC,6CAA6C,EAAE,OAAO,CAAA;KAAC;;+CAmdnE,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;iCAsD5D,MAAM,WACN;QACR,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACtC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACzB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,MAAM,CAAC;SACjB,CAAC;KACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA56BsB,CAAC;kBAAqB,CAAC;;;;;;;;;;;EAklC/C;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -99,6 +99,12 @@ export function createConnection(settings) {
|
|
|
99
99
|
_wallet = { provider: walletProvider, chainId };
|
|
100
100
|
alwaysOnProvider.setWalletProvider(walletProvider);
|
|
101
101
|
watchForChainIdChange(_wallet.provider);
|
|
102
|
+
let accounts = [];
|
|
103
|
+
// try {
|
|
104
|
+
accounts = await walletProvider.request({ method: 'eth_accounts' });
|
|
105
|
+
accounts = accounts.map((v) => v.toLowerCase());
|
|
106
|
+
// } catch {}
|
|
107
|
+
// // TODO try catch ? and use logic of onAccountChanged
|
|
102
108
|
set({
|
|
103
109
|
step: 'SignedIn',
|
|
104
110
|
account: existingAccount,
|
|
@@ -106,6 +112,7 @@ export function createConnection(settings) {
|
|
|
106
112
|
wallets: $connection.wallets,
|
|
107
113
|
wallet: {
|
|
108
114
|
provider: walletProvider,
|
|
115
|
+
accounts,
|
|
109
116
|
status: 'connected',
|
|
110
117
|
accountChanged: undefined,
|
|
111
118
|
chainId,
|
|
@@ -113,7 +120,9 @@ export function createConnection(settings) {
|
|
|
113
120
|
switchingChain: false,
|
|
114
121
|
},
|
|
115
122
|
});
|
|
116
|
-
|
|
123
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
124
|
+
// TODO use the same logic before hand
|
|
125
|
+
onAccountChanged(accounts);
|
|
117
126
|
watchForAccountChange(walletProvider);
|
|
118
127
|
})
|
|
119
128
|
.catch((err) => {
|
|
@@ -146,12 +155,19 @@ export function createConnection(settings) {
|
|
|
146
155
|
_wallet = { provider: walletProvider, chainId };
|
|
147
156
|
alwaysOnProvider.setWalletProvider(walletProvider);
|
|
148
157
|
watchForChainIdChange(_wallet.provider);
|
|
158
|
+
let accounts = [];
|
|
159
|
+
// try {
|
|
160
|
+
accounts = await walletProvider.request({ method: 'eth_accounts' });
|
|
161
|
+
accounts = accounts.map((v) => v.toLowerCase());
|
|
162
|
+
// } catch {}
|
|
163
|
+
// // TODO try catch ? and use logic of onAccountChanged
|
|
149
164
|
set({
|
|
150
165
|
step: 'WalletConnected',
|
|
151
166
|
mechanism: lastWallet,
|
|
152
167
|
wallets: $connection.wallets,
|
|
153
168
|
wallet: {
|
|
154
169
|
provider: walletProvider,
|
|
170
|
+
accounts,
|
|
155
171
|
status: 'connected',
|
|
156
172
|
accountChanged: undefined,
|
|
157
173
|
chainId,
|
|
@@ -159,7 +175,9 @@ export function createConnection(settings) {
|
|
|
159
175
|
switchingChain: false,
|
|
160
176
|
},
|
|
161
177
|
});
|
|
162
|
-
|
|
178
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
179
|
+
// TODO use the same logic before hand
|
|
180
|
+
onAccountChanged(accounts);
|
|
163
181
|
watchForAccountChange(walletProvider);
|
|
164
182
|
})
|
|
165
183
|
.catch((err) => {
|
|
@@ -218,12 +236,7 @@ export function createConnection(settings) {
|
|
|
218
236
|
if ($connection.step !== 'WalletConnected') {
|
|
219
237
|
throw new Error(`invalid step: ${$connection.step}, needs to be WalletConnected`);
|
|
220
238
|
}
|
|
221
|
-
|
|
222
|
-
// TODO error ?
|
|
223
|
-
throw new Error(`no wallet provided initialised`);
|
|
224
|
-
}
|
|
225
|
-
const provider = _wallet.provider;
|
|
226
|
-
const chainId = _wallet.chainId;
|
|
239
|
+
const provider = $connection.wallet.provider;
|
|
227
240
|
const message = originKeyMessage(origin);
|
|
228
241
|
const msg = hashMessage(message);
|
|
229
242
|
set({
|
|
@@ -271,31 +284,21 @@ export function createConnection(settings) {
|
|
|
271
284
|
set({
|
|
272
285
|
...$connection,
|
|
273
286
|
step: 'SignedIn',
|
|
274
|
-
mechanism: {
|
|
275
|
-
type: 'wallet',
|
|
276
|
-
name: $connection.mechanism.name,
|
|
277
|
-
address: $connection.mechanism.address,
|
|
278
|
-
},
|
|
279
287
|
account,
|
|
280
|
-
wallet:
|
|
281
|
-
chainId,
|
|
282
|
-
provider: provider,
|
|
283
|
-
status: 'connected',
|
|
284
|
-
accountChanged: undefined, // TODO check account list
|
|
285
|
-
invalidChainId: alwaysOnChainId != chainId,
|
|
286
|
-
switchingChain: false,
|
|
287
|
-
},
|
|
288
|
+
wallet: $connection.wallet,
|
|
288
289
|
});
|
|
289
290
|
if (remember) {
|
|
290
291
|
saveOriginAccount(account);
|
|
291
292
|
}
|
|
292
293
|
}
|
|
293
|
-
function
|
|
294
|
+
function connecToAddress(address, options) {
|
|
294
295
|
if ($connection.wallet) {
|
|
295
296
|
connect({
|
|
296
297
|
type: 'wallet',
|
|
297
298
|
address,
|
|
298
299
|
name: $connection.mechanism.name,
|
|
300
|
+
}, {
|
|
301
|
+
requireUserConfirmationBeforeSignatureRequest: options?.requireUserConfirmationBeforeSignatureRequest,
|
|
299
302
|
});
|
|
300
303
|
}
|
|
301
304
|
else {
|
|
@@ -333,6 +336,7 @@ export function createConnection(settings) {
|
|
|
333
336
|
unlocking: false,
|
|
334
337
|
},
|
|
335
338
|
});
|
|
339
|
+
alwaysOnProvider.setWalletStatus('locked');
|
|
336
340
|
}
|
|
337
341
|
else {
|
|
338
342
|
const disconnected = accountsFormated.find((v) => v == addressSignedIn) ? false : true;
|
|
@@ -345,6 +349,7 @@ export function createConnection(settings) {
|
|
|
345
349
|
connecting: false,
|
|
346
350
|
},
|
|
347
351
|
});
|
|
352
|
+
alwaysOnProvider.setWalletStatus('disconnected');
|
|
348
353
|
}
|
|
349
354
|
else {
|
|
350
355
|
set({
|
|
@@ -354,6 +359,7 @@ export function createConnection(settings) {
|
|
|
354
359
|
status: 'connected',
|
|
355
360
|
},
|
|
356
361
|
});
|
|
362
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
357
363
|
}
|
|
358
364
|
}
|
|
359
365
|
if (accountsFormated.length > 0 && accountsFormated[0] != $connection.mechanism.address) {
|
|
@@ -393,6 +399,7 @@ export function createConnection(settings) {
|
|
|
393
399
|
remember = !(options?.doNotStoreLocally || false);
|
|
394
400
|
if (mechanism) {
|
|
395
401
|
if (mechanism.type === 'wallet') {
|
|
402
|
+
const specificAddress = mechanism.address;
|
|
396
403
|
const walletName = mechanism.name || ($connection.wallets.length == 1 ? $connection.wallets[0].info.name : undefined);
|
|
397
404
|
if (walletName) {
|
|
398
405
|
const wallet = $connection.wallets.find((v) => v.info.name == walletName || v.info.uuid == walletName);
|
|
@@ -402,13 +409,13 @@ export function createConnection(settings) {
|
|
|
402
409
|
stopatchingForAccountChange(_wallet.provider);
|
|
403
410
|
stopatchingForChainIdChange(_wallet.provider);
|
|
404
411
|
}
|
|
405
|
-
const
|
|
412
|
+
const mechanismToSave = {
|
|
406
413
|
type: 'wallet',
|
|
407
414
|
name: walletName,
|
|
408
415
|
};
|
|
409
416
|
set({
|
|
410
417
|
step: 'WaitingForWalletConnection', // TODO FetchingAccounts
|
|
411
|
-
mechanism,
|
|
418
|
+
mechanism: mechanismToSave,
|
|
412
419
|
wallets: $connection.wallets,
|
|
413
420
|
wallet: undefined,
|
|
414
421
|
});
|
|
@@ -426,50 +433,69 @@ export function createConnection(settings) {
|
|
|
426
433
|
if (accounts.length === 0) {
|
|
427
434
|
set({
|
|
428
435
|
step: 'WaitingForWalletConnection', // TODO add another step to unlock ?
|
|
429
|
-
mechanism,
|
|
436
|
+
mechanism: mechanismToSave,
|
|
430
437
|
wallets: $connection.wallets,
|
|
431
438
|
wallet: undefined,
|
|
432
439
|
});
|
|
433
440
|
accounts = await provider.request({ method: 'eth_requestAccounts' });
|
|
434
441
|
accounts = accounts.map((v) => v.toLowerCase());
|
|
435
442
|
if (accounts.length > 0) {
|
|
436
|
-
const
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
443
|
+
const nextStep = !specificAddress && accounts.length > 1 ? 'ChooseWalletAccount' : 'WalletConnected';
|
|
444
|
+
let account = accounts[0];
|
|
445
|
+
if (specificAddress) {
|
|
446
|
+
if (accounts.find((v) => v === specificAddress)) {
|
|
447
|
+
account = specificAddress;
|
|
448
|
+
}
|
|
449
|
+
else {
|
|
450
|
+
// TODO error
|
|
451
|
+
throw new Error(`could not find address ${specificAddress}`);
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
const newState = nextStep === 'ChooseWalletAccount'
|
|
455
|
+
? {
|
|
456
|
+
step: nextStep,
|
|
457
|
+
mechanism: mechanismToSave,
|
|
445
458
|
wallets: $connection.wallets,
|
|
446
459
|
wallet: {
|
|
447
460
|
provider: _wallet.provider,
|
|
461
|
+
accounts,
|
|
448
462
|
status: 'connected',
|
|
449
463
|
accountChanged: undefined,
|
|
450
464
|
chainId,
|
|
451
465
|
invalidChainId: alwaysOnChainId != chainId,
|
|
452
466
|
switchingChain: false,
|
|
453
467
|
},
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
mechanism: walletMechanism,
|
|
468
|
+
}
|
|
469
|
+
: {
|
|
470
|
+
step: nextStep,
|
|
471
|
+
mechanism: {
|
|
472
|
+
...mechanismToSave,
|
|
473
|
+
address: account,
|
|
474
|
+
},
|
|
462
475
|
wallets: $connection.wallets,
|
|
463
476
|
wallet: {
|
|
464
477
|
provider: _wallet.provider,
|
|
478
|
+
accounts,
|
|
465
479
|
status: 'connected',
|
|
466
480
|
accountChanged: undefined,
|
|
467
481
|
chainId,
|
|
468
482
|
invalidChainId: alwaysOnChainId != chainId,
|
|
469
483
|
switchingChain: false,
|
|
470
484
|
},
|
|
471
|
-
}
|
|
472
|
-
|
|
485
|
+
};
|
|
486
|
+
if (newState.step === 'WalletConnected' && options?.requestSignatureRightAway) {
|
|
487
|
+
watchForAccountChange(_wallet.provider);
|
|
488
|
+
set(newState);
|
|
489
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
490
|
+
saveLastWallet(newState.mechanism);
|
|
491
|
+
await requestSignature();
|
|
492
|
+
}
|
|
493
|
+
else {
|
|
494
|
+
set(newState);
|
|
495
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
496
|
+
if (newState.step === 'WalletConnected') {
|
|
497
|
+
saveLastWallet(newState.mechanism);
|
|
498
|
+
}
|
|
473
499
|
watchForAccountChange(_wallet.provider);
|
|
474
500
|
}
|
|
475
501
|
}
|
|
@@ -483,45 +509,66 @@ export function createConnection(settings) {
|
|
|
483
509
|
}
|
|
484
510
|
}
|
|
485
511
|
else {
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
512
|
+
let account = accounts[0];
|
|
513
|
+
if (specificAddress) {
|
|
514
|
+
if (accounts.find((v) => v === specificAddress)) {
|
|
515
|
+
account = specificAddress;
|
|
516
|
+
}
|
|
517
|
+
else {
|
|
518
|
+
// TODO error
|
|
519
|
+
throw new Error(`could not find address ${specificAddress}`);
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
const nextStep = !specificAddress && accounts.length > 1 ? 'ChooseWalletAccount' : 'WalletConnected';
|
|
523
|
+
const newState = nextStep === 'ChooseWalletAccount'
|
|
524
|
+
? {
|
|
525
|
+
step: nextStep,
|
|
526
|
+
mechanism: mechanismToSave,
|
|
494
527
|
wallets: $connection.wallets,
|
|
495
528
|
wallet: {
|
|
496
529
|
provider: _wallet.provider,
|
|
530
|
+
accounts,
|
|
497
531
|
status: 'connected',
|
|
498
532
|
accountChanged: undefined,
|
|
499
533
|
chainId,
|
|
500
534
|
invalidChainId: alwaysOnChainId != chainId,
|
|
501
535
|
switchingChain: false,
|
|
502
536
|
},
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
step: 'WalletConnected',
|
|
511
|
-
mechanism: walletMechanism,
|
|
537
|
+
}
|
|
538
|
+
: {
|
|
539
|
+
step: nextStep,
|
|
540
|
+
mechanism: {
|
|
541
|
+
...mechanismToSave,
|
|
542
|
+
address: account,
|
|
543
|
+
},
|
|
512
544
|
wallets: $connection.wallets,
|
|
513
545
|
wallet: {
|
|
514
546
|
provider: _wallet.provider,
|
|
547
|
+
accounts,
|
|
515
548
|
status: 'connected',
|
|
516
549
|
accountChanged: undefined,
|
|
517
550
|
chainId,
|
|
518
551
|
invalidChainId: alwaysOnChainId != chainId,
|
|
519
552
|
switchingChain: false,
|
|
520
553
|
},
|
|
521
|
-
}
|
|
522
|
-
|
|
554
|
+
};
|
|
555
|
+
if (newState.step === 'WalletConnected' &&
|
|
556
|
+
requestSignatureAutomaticallyIfPossible &&
|
|
557
|
+
!options?.requireUserConfirmationBeforeSignatureRequest) {
|
|
558
|
+
set(newState);
|
|
559
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
560
|
+
saveLastWallet(newState.mechanism);
|
|
561
|
+
watchForAccountChange(_wallet.provider);
|
|
523
562
|
await requestSignature();
|
|
524
563
|
}
|
|
564
|
+
else {
|
|
565
|
+
watchForAccountChange(_wallet.provider);
|
|
566
|
+
set(newState);
|
|
567
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
568
|
+
if (newState.step === 'WalletConnected') {
|
|
569
|
+
saveLastWallet(newState.mechanism);
|
|
570
|
+
}
|
|
571
|
+
}
|
|
525
572
|
}
|
|
526
573
|
}
|
|
527
574
|
else {
|
|
@@ -895,7 +942,7 @@ export function createConnection(settings) {
|
|
|
895
942
|
cancel,
|
|
896
943
|
back,
|
|
897
944
|
requestSignature,
|
|
898
|
-
|
|
945
|
+
connecToAddress,
|
|
899
946
|
disconnect,
|
|
900
947
|
getSignatureForPublicKeyPublication,
|
|
901
948
|
switchWalletChain,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/provider.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare function createProvider(params: {
|
|
|
7
7
|
requestsPerSecond?: number;
|
|
8
8
|
}): CurriedRPC<Methods> & {
|
|
9
9
|
setWalletProvider: (walletProvider: EIP1193WindowWalletProvider | undefined) => void;
|
|
10
|
+
setWalletStatus: (newStatus: 'connected' | 'locked' | 'disconnected') => void;
|
|
10
11
|
} & {
|
|
11
12
|
chainId: string;
|
|
12
13
|
};
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,2BAA2B,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAuB,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAevE,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwB,2BAA2B,EAAE,OAAO,EAAC,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAuB,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAevE,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG;IACzB,iBAAiB,EAAE,CAAC,cAAc,EAAE,2BAA2B,GAAG,SAAS,KAAK,IAAI,CAAC;IACrF,eAAe,EAAE,CAAC,SAAS,EAAE,WAAW,GAAG,QAAQ,GAAG,cAAc,KAAK,IAAI,CAAC;CAC9E,GAAG;IACH,OAAO,EAAE,MAAM,CAAC;CAChB,CA2DA"}
|
package/dist/provider.js
CHANGED
|
@@ -59,6 +59,6 @@ export function createProvider(params) {
|
|
|
59
59
|
},
|
|
60
60
|
};
|
|
61
61
|
const curriedRPC = createCurriedJSONRPC(provider, { requestsPerSecond });
|
|
62
|
-
return { ...curriedRPC, setWalletProvider, chainId };
|
|
62
|
+
return { ...curriedRPC, setWalletProvider, setWalletStatus, chainId };
|
|
63
63
|
}
|
|
64
64
|
//# sourceMappingURL=provider.js.map
|
package/dist/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oBAAoB,EAAa,MAAM,uBAAuB,CAAC;AAEvE,MAAM,aAAa,GAAG;IACrB,cAAc;IACd,UAAU;IACV,qBAAqB;IACrB,eAAe;IACf,sBAAsB;IACtB,mBAAmB;CACnB,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAExD,MAAM,iBAAiB,GAAG,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,yBAAyB,CAAC,CAAC;AAE3G,MAAM,UAAU,cAAc,CAAC,MAK9B;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oBAAoB,EAAa,MAAM,uBAAuB,CAAC;AAEvE,MAAM,aAAa,GAAG;IACrB,cAAc;IACd,UAAU;IACV,qBAAqB;IACrB,eAAe;IACf,sBAAsB;IACtB,mBAAmB;CACnB,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAExD,MAAM,iBAAiB,GAAG,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,yBAAyB,CAAC,CAAC;AAE3G,MAAM,UAAU,cAAc,CAAC,MAK9B;IAMA,MAAM,EAAC,QAAQ,EAAE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAC,GAAG,MAAM,CAAC;IAChF,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,cAAuD,CAAC;IAC5D,IAAI,MAAM,GAA4C,cAAc,CAAC;IAErE,SAAS,iBAAiB,CAAC,iBAA0D;QACpF,cAAc,GAAG,iBAAiB,CAAC;IACpC,CAAC;IACD,SAAS,eAAe,CAAC,SAAkD;QAC1E,MAAM,GAAG,SAAS,CAAC;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG;QAChB,KAAK,CAAC,OAAO,CAAC,GAAqC;YAClD,MAAM,aAAa,GAClB,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAClC,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC5C,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAElC,IAAI,cAAc,EAAE,CAAC;gBACpB,IAAI,wBAAwB,IAAI,aAAa,EAAE,CAAC;oBAC/C,IAAI,aAAa,EAAE,CAAC;wBACnB,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;4BAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;wBAClF,CAAC;oBACF,CAAC;oBAED,MAAM,mBAAmB,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC;wBACxD,MAAM,EAAE,aAAa;qBACrB,CAAC,CAAC;oBACH,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC9D,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;wBAChC,IAAI,aAAa,EAAE,CAAC;4BACnB,OAAO,OAAO,CAAC,MAAM,CAAC;gCACrB,OAAO,EAAE,+DAA+D,OAAO,YAAY,cAAc,EAAE;gCAC3G,IAAI,EAAE,IAAI;6BACV,CAAC,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACP,mEAAmE;4BACnE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC7B,CAAC;oBACF,CAAC;oBACD,OAAO,cAAc,CAAC,OAAO,CAAC,GAAU,CAAC,CAAC;gBAC3C,CAAC;YACF,CAAC;YAED,uBAAuB;YACvB,yEAAyE;YACzE,IAAI;YAEJ,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KACmC,CAAC;IAEtC,MAAM,UAAU,GAAG,oBAAoB,CAAU,QAAe,EAAE,EAAC,iBAAiB,EAAC,CAAC,CAAC;IACvF,OAAO,EAAC,GAAG,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAC,CAAC;AACrE,CAAC"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -32,7 +32,7 @@ export type FullfilledMechanism = AlchemyMechanism | WalletMechanism<string, `0x
|
|
|
32
32
|
|
|
33
33
|
export type WalletState = {
|
|
34
34
|
provider: EIP1193WindowWalletProvider;
|
|
35
|
-
|
|
35
|
+
accounts: `0x${string}`[];
|
|
36
36
|
accountChanged?: `0x${string}`;
|
|
37
37
|
chainId: string;
|
|
38
38
|
invalidChainId: boolean;
|
|
@@ -77,7 +77,13 @@ export type Connection = {
|
|
|
77
77
|
wallet: undefined;
|
|
78
78
|
mechanism: WalletMechanism<string, undefined>;
|
|
79
79
|
}
|
|
80
|
-
//
|
|
80
|
+
// Once the wallet is connected, if multiple account are connected to the site
|
|
81
|
+
// the user can choose which one to connect to
|
|
82
|
+
| {
|
|
83
|
+
step: 'ChooseWalletAccount';
|
|
84
|
+
mechanism: WalletMechanism<string, undefined>;
|
|
85
|
+
wallet: WalletState;
|
|
86
|
+
}
|
|
81
87
|
// Once the wallet is connected, the system will need a signature
|
|
82
88
|
// this state represent the fact and require another user interaction to request the signature
|
|
83
89
|
| {
|
|
@@ -236,6 +242,12 @@ export function createConnection(settings: {
|
|
|
236
242
|
_wallet = {provider: walletProvider, chainId};
|
|
237
243
|
alwaysOnProvider.setWalletProvider(walletProvider);
|
|
238
244
|
watchForChainIdChange(_wallet.provider);
|
|
245
|
+
let accounts: `0x${string}`[] = [];
|
|
246
|
+
// try {
|
|
247
|
+
accounts = await walletProvider.request({method: 'eth_accounts'});
|
|
248
|
+
accounts = accounts.map((v) => v.toLowerCase() as `0x${string}`);
|
|
249
|
+
// } catch {}
|
|
250
|
+
// // TODO try catch ? and use logic of onAccountChanged
|
|
239
251
|
set({
|
|
240
252
|
step: 'SignedIn',
|
|
241
253
|
account: existingAccount,
|
|
@@ -243,6 +255,7 @@ export function createConnection(settings: {
|
|
|
243
255
|
wallets: $connection.wallets,
|
|
244
256
|
wallet: {
|
|
245
257
|
provider: walletProvider,
|
|
258
|
+
accounts,
|
|
246
259
|
status: 'connected',
|
|
247
260
|
accountChanged: undefined,
|
|
248
261
|
chainId,
|
|
@@ -250,7 +263,9 @@ export function createConnection(settings: {
|
|
|
250
263
|
switchingChain: false,
|
|
251
264
|
},
|
|
252
265
|
});
|
|
253
|
-
|
|
266
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
267
|
+
// TODO use the same logic before hand
|
|
268
|
+
onAccountChanged(accounts);
|
|
254
269
|
watchForAccountChange(walletProvider);
|
|
255
270
|
})
|
|
256
271
|
.catch((err) => {
|
|
@@ -280,12 +295,20 @@ export function createConnection(settings: {
|
|
|
280
295
|
_wallet = {provider: walletProvider, chainId};
|
|
281
296
|
alwaysOnProvider.setWalletProvider(walletProvider);
|
|
282
297
|
watchForChainIdChange(_wallet.provider);
|
|
298
|
+
|
|
299
|
+
let accounts: `0x${string}`[] = [];
|
|
300
|
+
// try {
|
|
301
|
+
accounts = await walletProvider.request({method: 'eth_accounts'});
|
|
302
|
+
accounts = accounts.map((v) => v.toLowerCase() as `0x${string}`);
|
|
303
|
+
// } catch {}
|
|
304
|
+
// // TODO try catch ? and use logic of onAccountChanged
|
|
283
305
|
set({
|
|
284
306
|
step: 'WalletConnected',
|
|
285
307
|
mechanism: lastWallet,
|
|
286
308
|
wallets: $connection.wallets,
|
|
287
309
|
wallet: {
|
|
288
310
|
provider: walletProvider,
|
|
311
|
+
accounts,
|
|
289
312
|
status: 'connected',
|
|
290
313
|
accountChanged: undefined,
|
|
291
314
|
chainId,
|
|
@@ -293,7 +316,9 @@ export function createConnection(settings: {
|
|
|
293
316
|
switchingChain: false,
|
|
294
317
|
},
|
|
295
318
|
});
|
|
296
|
-
|
|
319
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
320
|
+
// TODO use the same logic before hand
|
|
321
|
+
onAccountChanged(accounts);
|
|
297
322
|
watchForAccountChange(walletProvider);
|
|
298
323
|
})
|
|
299
324
|
.catch((err) => {
|
|
@@ -352,12 +377,7 @@ export function createConnection(settings: {
|
|
|
352
377
|
throw new Error(`invalid step: ${$connection.step}, needs to be WalletConnected`);
|
|
353
378
|
}
|
|
354
379
|
|
|
355
|
-
|
|
356
|
-
// TODO error ?
|
|
357
|
-
throw new Error(`no wallet provided initialised`);
|
|
358
|
-
}
|
|
359
|
-
const provider = _wallet.provider;
|
|
360
|
-
const chainId = _wallet.chainId;
|
|
380
|
+
const provider = $connection.wallet.provider;
|
|
361
381
|
const message = originKeyMessage(origin);
|
|
362
382
|
const msg = hashMessage(message);
|
|
363
383
|
|
|
@@ -408,33 +428,26 @@ export function createConnection(settings: {
|
|
|
408
428
|
set({
|
|
409
429
|
...$connection,
|
|
410
430
|
step: 'SignedIn',
|
|
411
|
-
mechanism: {
|
|
412
|
-
type: 'wallet',
|
|
413
|
-
name: $connection.mechanism.name,
|
|
414
|
-
address: $connection.mechanism.address,
|
|
415
|
-
},
|
|
416
431
|
account,
|
|
417
|
-
wallet:
|
|
418
|
-
chainId,
|
|
419
|
-
provider: provider,
|
|
420
|
-
status: 'connected',
|
|
421
|
-
accountChanged: undefined, // TODO check account list
|
|
422
|
-
invalidChainId: alwaysOnChainId != chainId,
|
|
423
|
-
switchingChain: false,
|
|
424
|
-
},
|
|
432
|
+
wallet: $connection.wallet,
|
|
425
433
|
});
|
|
426
434
|
if (remember) {
|
|
427
435
|
saveOriginAccount(account);
|
|
428
436
|
}
|
|
429
437
|
}
|
|
430
438
|
|
|
431
|
-
function
|
|
439
|
+
function connecToAddress(address: `0x${string}`, options?: {requireUserConfirmationBeforeSignatureRequest: boolean}) {
|
|
432
440
|
if ($connection.wallet) {
|
|
433
|
-
connect(
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
441
|
+
connect(
|
|
442
|
+
{
|
|
443
|
+
type: 'wallet',
|
|
444
|
+
address,
|
|
445
|
+
name: $connection.mechanism.name,
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
requireUserConfirmationBeforeSignatureRequest: options?.requireUserConfirmationBeforeSignatureRequest,
|
|
449
|
+
},
|
|
450
|
+
);
|
|
438
451
|
} else {
|
|
439
452
|
throw new Error(`need to be using a wallet`);
|
|
440
453
|
}
|
|
@@ -474,6 +487,7 @@ export function createConnection(settings: {
|
|
|
474
487
|
unlocking: false,
|
|
475
488
|
},
|
|
476
489
|
});
|
|
490
|
+
alwaysOnProvider.setWalletStatus('locked');
|
|
477
491
|
} else {
|
|
478
492
|
const disconnected = accountsFormated.find((v) => v == addressSignedIn) ? false : true;
|
|
479
493
|
|
|
@@ -486,6 +500,7 @@ export function createConnection(settings: {
|
|
|
486
500
|
connecting: false,
|
|
487
501
|
},
|
|
488
502
|
});
|
|
503
|
+
alwaysOnProvider.setWalletStatus('disconnected');
|
|
489
504
|
} else {
|
|
490
505
|
set({
|
|
491
506
|
...$connection,
|
|
@@ -494,6 +509,7 @@ export function createConnection(settings: {
|
|
|
494
509
|
status: 'connected',
|
|
495
510
|
},
|
|
496
511
|
});
|
|
512
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
497
513
|
}
|
|
498
514
|
}
|
|
499
515
|
|
|
@@ -543,6 +559,7 @@ export function createConnection(settings: {
|
|
|
543
559
|
remember = !(options?.doNotStoreLocally || false);
|
|
544
560
|
if (mechanism) {
|
|
545
561
|
if (mechanism.type === 'wallet') {
|
|
562
|
+
const specificAddress = mechanism.address;
|
|
546
563
|
const walletName =
|
|
547
564
|
mechanism.name || ($connection.wallets.length == 1 ? $connection.wallets[0].info.name : undefined);
|
|
548
565
|
if (walletName) {
|
|
@@ -554,14 +571,14 @@ export function createConnection(settings: {
|
|
|
554
571
|
stopatchingForChainIdChange(_wallet.provider);
|
|
555
572
|
}
|
|
556
573
|
|
|
557
|
-
const
|
|
574
|
+
const mechanismToSave: WalletMechanism<string, undefined> = {
|
|
558
575
|
type: 'wallet',
|
|
559
576
|
name: walletName,
|
|
560
577
|
};
|
|
561
578
|
|
|
562
579
|
set({
|
|
563
580
|
step: 'WaitingForWalletConnection', // TODO FetchingAccounts
|
|
564
|
-
mechanism,
|
|
581
|
+
mechanism: mechanismToSave,
|
|
565
582
|
wallets: $connection.wallets,
|
|
566
583
|
wallet: undefined,
|
|
567
584
|
});
|
|
@@ -579,50 +596,72 @@ export function createConnection(settings: {
|
|
|
579
596
|
if (accounts.length === 0) {
|
|
580
597
|
set({
|
|
581
598
|
step: 'WaitingForWalletConnection', // TODO add another step to unlock ?
|
|
582
|
-
mechanism,
|
|
599
|
+
mechanism: mechanismToSave,
|
|
583
600
|
wallets: $connection.wallets,
|
|
584
601
|
wallet: undefined,
|
|
585
602
|
});
|
|
586
603
|
accounts = await provider.request({method: 'eth_requestAccounts'});
|
|
587
604
|
accounts = accounts.map((v) => v.toLowerCase()) as `0x${string}`[];
|
|
588
605
|
if (accounts.length > 0) {
|
|
589
|
-
const
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
606
|
+
const nextStep = !specificAddress && accounts.length > 1 ? 'ChooseWalletAccount' : 'WalletConnected';
|
|
607
|
+
let account = accounts[0];
|
|
608
|
+
if (specificAddress) {
|
|
609
|
+
if (accounts.find((v) => v === specificAddress)) {
|
|
610
|
+
account = specificAddress;
|
|
611
|
+
} else {
|
|
612
|
+
// TODO error
|
|
613
|
+
throw new Error(`could not find address ${specificAddress}`);
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
const newState: Connection =
|
|
618
|
+
nextStep === 'ChooseWalletAccount'
|
|
619
|
+
? {
|
|
620
|
+
step: nextStep,
|
|
621
|
+
mechanism: mechanismToSave,
|
|
622
|
+
wallets: $connection.wallets,
|
|
623
|
+
|
|
624
|
+
wallet: {
|
|
625
|
+
provider: _wallet.provider,
|
|
626
|
+
accounts,
|
|
627
|
+
status: 'connected',
|
|
628
|
+
accountChanged: undefined,
|
|
629
|
+
chainId,
|
|
630
|
+
invalidChainId: alwaysOnChainId != chainId,
|
|
631
|
+
switchingChain: false,
|
|
632
|
+
},
|
|
633
|
+
}
|
|
634
|
+
: {
|
|
635
|
+
step: nextStep,
|
|
636
|
+
mechanism: {
|
|
637
|
+
...mechanismToSave,
|
|
638
|
+
address: account,
|
|
639
|
+
},
|
|
640
|
+
wallets: $connection.wallets,
|
|
641
|
+
wallet: {
|
|
642
|
+
provider: _wallet.provider,
|
|
643
|
+
accounts,
|
|
644
|
+
status: 'connected',
|
|
645
|
+
accountChanged: undefined,
|
|
646
|
+
chainId,
|
|
647
|
+
invalidChainId: alwaysOnChainId != chainId,
|
|
648
|
+
switchingChain: false,
|
|
649
|
+
},
|
|
650
|
+
};
|
|
651
|
+
if (newState.step === 'WalletConnected' && options?.requestSignatureRightAway) {
|
|
594
652
|
watchForAccountChange(_wallet.provider);
|
|
595
653
|
|
|
596
|
-
set(
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
wallets: $connection.wallets,
|
|
600
|
-
wallet: {
|
|
601
|
-
provider: _wallet.provider,
|
|
602
|
-
status: 'connected',
|
|
603
|
-
accountChanged: undefined,
|
|
604
|
-
chainId,
|
|
605
|
-
invalidChainId: alwaysOnChainId != chainId,
|
|
606
|
-
switchingChain: false,
|
|
607
|
-
},
|
|
608
|
-
});
|
|
609
|
-
saveLastWallet(walletMechanism);
|
|
654
|
+
set(newState);
|
|
655
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
656
|
+
saveLastWallet(newState.mechanism);
|
|
610
657
|
await requestSignature();
|
|
611
658
|
} else {
|
|
612
|
-
set(
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
status: 'connected',
|
|
619
|
-
accountChanged: undefined,
|
|
620
|
-
chainId,
|
|
621
|
-
invalidChainId: alwaysOnChainId != chainId,
|
|
622
|
-
switchingChain: false,
|
|
623
|
-
},
|
|
624
|
-
});
|
|
625
|
-
saveLastWallet(walletMechanism);
|
|
659
|
+
set(newState);
|
|
660
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
661
|
+
if (newState.step === 'WalletConnected') {
|
|
662
|
+
saveLastWallet(newState.mechanism);
|
|
663
|
+
}
|
|
664
|
+
|
|
626
665
|
watchForAccountChange(_wallet.provider);
|
|
627
666
|
}
|
|
628
667
|
} else {
|
|
@@ -634,43 +673,66 @@ export function createConnection(settings: {
|
|
|
634
673
|
});
|
|
635
674
|
}
|
|
636
675
|
} else {
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
676
|
+
let account = accounts[0];
|
|
677
|
+
if (specificAddress) {
|
|
678
|
+
if (accounts.find((v) => v === specificAddress)) {
|
|
679
|
+
account = specificAddress;
|
|
680
|
+
} else {
|
|
681
|
+
// TODO error
|
|
682
|
+
throw new Error(`could not find address ${specificAddress}`);
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
const nextStep = !specificAddress && accounts.length > 1 ? 'ChooseWalletAccount' : 'WalletConnected';
|
|
686
|
+
const newState: Connection =
|
|
687
|
+
nextStep === 'ChooseWalletAccount'
|
|
688
|
+
? {
|
|
689
|
+
step: nextStep,
|
|
690
|
+
mechanism: mechanismToSave,
|
|
691
|
+
wallets: $connection.wallets,
|
|
692
|
+
wallet: {
|
|
693
|
+
provider: _wallet.provider,
|
|
694
|
+
accounts,
|
|
695
|
+
status: 'connected',
|
|
696
|
+
accountChanged: undefined,
|
|
697
|
+
chainId,
|
|
698
|
+
invalidChainId: alwaysOnChainId != chainId,
|
|
699
|
+
switchingChain: false,
|
|
700
|
+
},
|
|
701
|
+
}
|
|
702
|
+
: {
|
|
703
|
+
step: nextStep,
|
|
704
|
+
mechanism: {
|
|
705
|
+
...mechanismToSave,
|
|
706
|
+
address: account,
|
|
707
|
+
},
|
|
708
|
+
wallets: $connection.wallets,
|
|
709
|
+
wallet: {
|
|
710
|
+
provider: _wallet.provider,
|
|
711
|
+
accounts,
|
|
712
|
+
status: 'connected',
|
|
713
|
+
accountChanged: undefined,
|
|
714
|
+
chainId,
|
|
715
|
+
invalidChainId: alwaysOnChainId != chainId,
|
|
716
|
+
switchingChain: false,
|
|
717
|
+
},
|
|
718
|
+
};
|
|
719
|
+
if (
|
|
720
|
+
newState.step === 'WalletConnected' &&
|
|
721
|
+
requestSignatureAutomaticallyIfPossible &&
|
|
722
|
+
!options?.requireUserConfirmationBeforeSignatureRequest
|
|
723
|
+
) {
|
|
724
|
+
set(newState);
|
|
725
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
726
|
+
saveLastWallet(newState.mechanism);
|
|
656
727
|
watchForAccountChange(_wallet.provider);
|
|
728
|
+
await requestSignature();
|
|
657
729
|
} else {
|
|
658
730
|
watchForAccountChange(_wallet.provider);
|
|
659
|
-
set(
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
provider: _wallet.provider,
|
|
665
|
-
status: 'connected',
|
|
666
|
-
accountChanged: undefined,
|
|
667
|
-
chainId,
|
|
668
|
-
invalidChainId: alwaysOnChainId != chainId,
|
|
669
|
-
switchingChain: false,
|
|
670
|
-
},
|
|
671
|
-
});
|
|
672
|
-
saveLastWallet(walletMechanism);
|
|
673
|
-
await requestSignature();
|
|
731
|
+
set(newState);
|
|
732
|
+
alwaysOnProvider.setWalletStatus('connected');
|
|
733
|
+
if (newState.step === 'WalletConnected') {
|
|
734
|
+
saveLastWallet(newState.mechanism);
|
|
735
|
+
}
|
|
674
736
|
}
|
|
675
737
|
}
|
|
676
738
|
} else {
|
|
@@ -1065,7 +1127,7 @@ export function createConnection(settings: {
|
|
|
1065
1127
|
cancel,
|
|
1066
1128
|
back,
|
|
1067
1129
|
requestSignature,
|
|
1068
|
-
|
|
1130
|
+
connecToAddress,
|
|
1069
1131
|
disconnect,
|
|
1070
1132
|
getSignatureForPublicKeyPublication,
|
|
1071
1133
|
switchWalletChain,
|
package/src/provider.ts
CHANGED
|
@@ -19,7 +19,10 @@ export function createProvider(params: {
|
|
|
19
19
|
chainId: string;
|
|
20
20
|
prioritizeWalletProvider?: boolean;
|
|
21
21
|
requestsPerSecond?: number;
|
|
22
|
-
}): CurriedRPC<Methods> & {
|
|
22
|
+
}): CurriedRPC<Methods> & {
|
|
23
|
+
setWalletProvider: (walletProvider: EIP1193WindowWalletProvider | undefined) => void;
|
|
24
|
+
setWalletStatus: (newStatus: 'connected' | 'locked' | 'disconnected') => void;
|
|
25
|
+
} & {
|
|
23
26
|
chainId: string;
|
|
24
27
|
} {
|
|
25
28
|
const {endpoint, chainId, prioritizeWalletProvider, requestsPerSecond} = params;
|
|
@@ -79,5 +82,5 @@ export function createProvider(params: {
|
|
|
79
82
|
} as unknown as EIP1193WalletProvider;
|
|
80
83
|
|
|
81
84
|
const curriedRPC = createCurriedJSONRPC<Methods>(provider as any, {requestsPerSecond});
|
|
82
|
-
return {...curriedRPC, setWalletProvider, chainId};
|
|
85
|
+
return {...curriedRPC, setWalletProvider, setWalletStatus, chainId};
|
|
83
86
|
}
|