accounts 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/core/Adapter.d.ts +2 -0
- package/dist/core/Adapter.d.ts.map +1 -1
- package/dist/core/Schema.d.ts +18 -0
- package/dist/core/Schema.d.ts.map +1 -1
- package/dist/core/adapters/local.js +1 -1
- package/dist/core/adapters/local.js.map +1 -1
- package/dist/core/zod/rpc.d.ts +32 -0
- package/dist/core/zod/rpc.d.ts.map +1 -1
- package/dist/core/zod/rpc.js +4 -3
- package/dist/core/zod/rpc.js.map +1 -1
- package/dist/react-native/adapter.d.ts.map +1 -1
- package/dist/react-native/adapter.js.map +1 -1
- package/dist/wagmi/index.d.ts +38 -2
- package/dist/wagmi/index.d.ts.map +1 -1
- package/dist/wagmi/index.js +35 -2
- package/dist/wagmi/index.js.map +1 -1
- package/package.json +8 -4
- package/src/core/Adapter.ts +2 -0
- package/src/core/adapters/local.ts +1 -1
- package/src/core/zod/rpc.ts +7 -2
- package/src/react-native/adapter.ts +2 -1
- package/src/wagmi/index.ts +38 -2
- package/dist/wagmi/Connector.d.ts +0 -130
- package/dist/wagmi/Connector.d.ts.map +0 -1
- package/dist/wagmi/Connector.js +0 -272
- package/dist/wagmi/Connector.js.map +0 -1
- package/src/wagmi/Connector.ts +0 -330
package/dist/wagmi/Connector.js
DELETED
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { ChainNotConfiguredError, createConnector } from '@wagmi/core';
|
|
2
|
-
import { numberToHex, SwitchChainError, UserRejectedRequestError, } from 'viem';
|
|
3
|
-
import * as z from 'zod/mini';
|
|
4
|
-
import { dangerous_secp256k1 as dangerous_secp256k1_adapter } from '../core/adapters/dangerous_secp256k1.js';
|
|
5
|
-
import { dialog as core_dialog } from '../core/adapters/dialog.js';
|
|
6
|
-
import { webAuthn as webAuthn_adapter } from '../core/adapters/webAuthn.js';
|
|
7
|
-
import * as Provider from '../core/Provider.js';
|
|
8
|
-
import * as Rpc from '../core/zod/rpc.js';
|
|
9
|
-
/**
|
|
10
|
-
* Creates a wagmi connector backed by an accounts provider.
|
|
11
|
-
*/
|
|
12
|
-
export function setup(parameters = {}) {
|
|
13
|
-
return createConnector((wagmiConfig) => {
|
|
14
|
-
const chains = wagmiConfig.chains;
|
|
15
|
-
let provider;
|
|
16
|
-
let accountsChanged;
|
|
17
|
-
let chainChanged;
|
|
18
|
-
let connect;
|
|
19
|
-
let disconnect;
|
|
20
|
-
return {
|
|
21
|
-
async connect(params = {}) {
|
|
22
|
-
const { chainId, isReconnecting, withCapabilities } = params;
|
|
23
|
-
const capabilities = 'capabilities' in params ? params.capabilities : undefined;
|
|
24
|
-
let accounts = [];
|
|
25
|
-
let currentChainId;
|
|
26
|
-
if (isReconnecting)
|
|
27
|
-
accounts = await this.getAccounts()
|
|
28
|
-
.then((accounts) => accounts.map((address) => ({ address, capabilities: {} })))
|
|
29
|
-
.catch(() => []);
|
|
30
|
-
const provider = (await this.getProvider());
|
|
31
|
-
try {
|
|
32
|
-
if (!accounts?.length && !isReconnecting) {
|
|
33
|
-
const res = await provider.request({
|
|
34
|
-
method: 'wallet_connect',
|
|
35
|
-
params: [
|
|
36
|
-
{
|
|
37
|
-
...(chainId ? { chainId } : {}),
|
|
38
|
-
...(capabilities
|
|
39
|
-
? {
|
|
40
|
-
capabilities: z.encode(Rpc.wallet_connect.capabilities.request, capabilities),
|
|
41
|
-
}
|
|
42
|
-
: {}),
|
|
43
|
-
},
|
|
44
|
-
],
|
|
45
|
-
});
|
|
46
|
-
accounts = res.accounts;
|
|
47
|
-
}
|
|
48
|
-
currentChainId ??= await this.getChainId();
|
|
49
|
-
if (!currentChainId)
|
|
50
|
-
throw new ChainNotConfiguredError();
|
|
51
|
-
if (connect) {
|
|
52
|
-
provider.removeListener('connect', connect);
|
|
53
|
-
connect = undefined;
|
|
54
|
-
}
|
|
55
|
-
if (!accountsChanged) {
|
|
56
|
-
accountsChanged = this.onAccountsChanged.bind(this);
|
|
57
|
-
provider.on('accountsChanged', accountsChanged);
|
|
58
|
-
}
|
|
59
|
-
if (!chainChanged) {
|
|
60
|
-
chainChanged = this.onChainChanged.bind(this);
|
|
61
|
-
provider.on('chainChanged', chainChanged);
|
|
62
|
-
}
|
|
63
|
-
if (!disconnect) {
|
|
64
|
-
disconnect = this.onDisconnect.bind(this);
|
|
65
|
-
provider.on('disconnect', disconnect);
|
|
66
|
-
}
|
|
67
|
-
return {
|
|
68
|
-
accounts: (withCapabilities ? accounts : accounts.map((a) => a.address)),
|
|
69
|
-
chainId: currentChainId,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
catch (err) {
|
|
73
|
-
const error = err;
|
|
74
|
-
if (error.code === UserRejectedRequestError.code)
|
|
75
|
-
throw new UserRejectedRequestError(error);
|
|
76
|
-
throw error;
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
async disconnect() {
|
|
80
|
-
const provider = (await this.getProvider());
|
|
81
|
-
if (chainChanged) {
|
|
82
|
-
provider.removeListener('chainChanged', chainChanged);
|
|
83
|
-
chainChanged = undefined;
|
|
84
|
-
}
|
|
85
|
-
if (disconnect) {
|
|
86
|
-
provider.removeListener('disconnect', disconnect);
|
|
87
|
-
disconnect = undefined;
|
|
88
|
-
}
|
|
89
|
-
if (!connect) {
|
|
90
|
-
connect = this.onConnect?.bind(this);
|
|
91
|
-
if (connect)
|
|
92
|
-
provider.on('connect', connect);
|
|
93
|
-
}
|
|
94
|
-
await provider.request({ method: 'wallet_disconnect' });
|
|
95
|
-
},
|
|
96
|
-
async getAccounts() {
|
|
97
|
-
const provider = (await this.getProvider());
|
|
98
|
-
return provider.request({ method: 'eth_accounts' });
|
|
99
|
-
},
|
|
100
|
-
async getChainId() {
|
|
101
|
-
const provider = (await this.getProvider());
|
|
102
|
-
const hexChainId = await provider.request({ method: 'eth_chainId' });
|
|
103
|
-
return Number(hexChainId);
|
|
104
|
-
},
|
|
105
|
-
async getProvider() {
|
|
106
|
-
provider ??= Provider.create({
|
|
107
|
-
...parameters,
|
|
108
|
-
chains: chains,
|
|
109
|
-
});
|
|
110
|
-
return provider;
|
|
111
|
-
},
|
|
112
|
-
icon: parameters.adapter?.icon,
|
|
113
|
-
id: parameters.adapter?.rdns ?? 'com.example',
|
|
114
|
-
async isAuthorized() {
|
|
115
|
-
try {
|
|
116
|
-
const accounts = await this.getAccounts();
|
|
117
|
-
return !!accounts.length;
|
|
118
|
-
}
|
|
119
|
-
catch {
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
},
|
|
123
|
-
name: parameters.adapter?.name ?? 'Accounts',
|
|
124
|
-
async onAccountsChanged(accounts) {
|
|
125
|
-
wagmiConfig.emitter.emit('change', {
|
|
126
|
-
accounts: accounts,
|
|
127
|
-
});
|
|
128
|
-
},
|
|
129
|
-
onChainChanged(chain) {
|
|
130
|
-
const chainId = Number(chain);
|
|
131
|
-
wagmiConfig.emitter.emit('change', { chainId });
|
|
132
|
-
},
|
|
133
|
-
async onConnect(connectInfo) {
|
|
134
|
-
const accounts = await this.getAccounts();
|
|
135
|
-
if (accounts.length === 0)
|
|
136
|
-
return;
|
|
137
|
-
const chainId = Number(connectInfo.chainId);
|
|
138
|
-
wagmiConfig.emitter.emit('connect', { accounts, chainId });
|
|
139
|
-
const provider = (await this.getProvider());
|
|
140
|
-
if (connect) {
|
|
141
|
-
provider.removeListener('connect', connect);
|
|
142
|
-
connect = undefined;
|
|
143
|
-
}
|
|
144
|
-
if (!accountsChanged) {
|
|
145
|
-
accountsChanged = this.onAccountsChanged.bind(this);
|
|
146
|
-
provider.on('accountsChanged', accountsChanged);
|
|
147
|
-
}
|
|
148
|
-
if (!chainChanged) {
|
|
149
|
-
chainChanged = this.onChainChanged.bind(this);
|
|
150
|
-
provider.on('chainChanged', chainChanged);
|
|
151
|
-
}
|
|
152
|
-
if (!disconnect) {
|
|
153
|
-
disconnect = this.onDisconnect.bind(this);
|
|
154
|
-
provider.on('disconnect', disconnect);
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
|
-
async onDisconnect(_error) {
|
|
158
|
-
const provider = (await this.getProvider());
|
|
159
|
-
wagmiConfig.emitter.emit('disconnect');
|
|
160
|
-
if (chainChanged) {
|
|
161
|
-
provider.removeListener('chainChanged', chainChanged);
|
|
162
|
-
chainChanged = undefined;
|
|
163
|
-
}
|
|
164
|
-
if (disconnect) {
|
|
165
|
-
provider.removeListener('disconnect', disconnect);
|
|
166
|
-
disconnect = undefined;
|
|
167
|
-
}
|
|
168
|
-
if (!connect) {
|
|
169
|
-
connect = this.onConnect?.bind(this);
|
|
170
|
-
if (connect)
|
|
171
|
-
provider.on('connect', connect);
|
|
172
|
-
}
|
|
173
|
-
},
|
|
174
|
-
async setup() {
|
|
175
|
-
if (!connect) {
|
|
176
|
-
const provider = (await this.getProvider());
|
|
177
|
-
connect = this.onConnect?.bind(this);
|
|
178
|
-
if (connect)
|
|
179
|
-
provider.on('connect', connect);
|
|
180
|
-
}
|
|
181
|
-
},
|
|
182
|
-
async switchChain({ chainId }) {
|
|
183
|
-
const chain = chains.find((x) => x.id === chainId);
|
|
184
|
-
if (!chain)
|
|
185
|
-
throw new SwitchChainError(new ChainNotConfiguredError());
|
|
186
|
-
const provider = (await this.getProvider());
|
|
187
|
-
await provider.request({
|
|
188
|
-
method: 'wallet_switchEthereumChain',
|
|
189
|
-
params: [{ chainId: numberToHex(chainId) }],
|
|
190
|
-
});
|
|
191
|
-
return chain;
|
|
192
|
-
},
|
|
193
|
-
type: 'injected',
|
|
194
|
-
};
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Creates a wagmi connector backed by a WebAuthn adapter.
|
|
199
|
-
*
|
|
200
|
-
* @example
|
|
201
|
-
* ```ts
|
|
202
|
-
* import { createConfig, http } from 'wagmi'
|
|
203
|
-
* import { tempoModerato } from 'wagmi/chains'
|
|
204
|
-
* import { webAuthn } from 'accounts/wagmi'
|
|
205
|
-
*
|
|
206
|
-
* const config = createConfig({
|
|
207
|
-
* chains: [tempoModerato],
|
|
208
|
-
* connectors: [webAuthn()],
|
|
209
|
-
* transports: { [tempoModerato.id]: http() },
|
|
210
|
-
* })
|
|
211
|
-
* ```
|
|
212
|
-
*/
|
|
213
|
-
export function webAuthn(options = {}) {
|
|
214
|
-
const { authUrl, ceremony, icon, name, rdns, ...rest } = options;
|
|
215
|
-
const adapter = ceremony
|
|
216
|
-
? webAuthn_adapter({ ceremony, icon, name, rdns })
|
|
217
|
-
: webAuthn_adapter({ authUrl, icon, name, rdns });
|
|
218
|
-
return setup({
|
|
219
|
-
...rest,
|
|
220
|
-
adapter,
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Creates a wagmi connector backed by a dialog adapter.
|
|
225
|
-
*
|
|
226
|
-
* @example
|
|
227
|
-
* ```ts
|
|
228
|
-
* import { createConfig, http } from 'wagmi'
|
|
229
|
-
* import { tempoModerato } from 'wagmi/chains'
|
|
230
|
-
* import { dialog } from 'accounts/wagmi'
|
|
231
|
-
*
|
|
232
|
-
* const config = createConfig({
|
|
233
|
-
* chains: [tempoModerato],
|
|
234
|
-
* connectors: [dialog()],
|
|
235
|
-
* transports: { [tempoModerato.id]: http() },
|
|
236
|
-
* })
|
|
237
|
-
* ```
|
|
238
|
-
*/
|
|
239
|
-
export function dialog(options = {}) {
|
|
240
|
-
const { dialog: dialogOption, host, icon, name, rdns, ...rest } = options;
|
|
241
|
-
return setup({
|
|
242
|
-
...rest,
|
|
243
|
-
adapter: core_dialog({ dialog: dialogOption, host, icon, name, rdns }),
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* Creates a wagmi connector backed by a secp256k1 adapter.
|
|
248
|
-
*
|
|
249
|
-
* @deprecated Private keys are stored in plaintext via the provider's storage adapter.
|
|
250
|
-
* Use only for development, testing, or when the threat model allows it.
|
|
251
|
-
*
|
|
252
|
-
* @example
|
|
253
|
-
* ```ts
|
|
254
|
-
* import { createConfig, http } from 'wagmi'
|
|
255
|
-
* import { tempoModerato } from 'wagmi/chains'
|
|
256
|
-
* import { dangerous_secp256k1 } from 'accounts/wagmi'
|
|
257
|
-
*
|
|
258
|
-
* const config = createConfig({
|
|
259
|
-
* chains: [tempoModerato],
|
|
260
|
-
* connectors: [dangerous_secp256k1()],
|
|
261
|
-
* transports: { [tempoModerato.id]: http() },
|
|
262
|
-
* })
|
|
263
|
-
* ```
|
|
264
|
-
*/
|
|
265
|
-
export function dangerous_secp256k1(options = {}) {
|
|
266
|
-
const { icon, name, privateKey, rdns, ...rest } = options;
|
|
267
|
-
return setup({
|
|
268
|
-
...rest,
|
|
269
|
-
adapter: dangerous_secp256k1_adapter({ icon, name, privateKey, rdns }),
|
|
270
|
-
});
|
|
271
|
-
}
|
|
272
|
-
//# sourceMappingURL=Connector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Connector.js","sourceRoot":"","sources":["../../src/wagmi/Connector.ts"],"names":[],"mappings":"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"}
|
package/src/wagmi/Connector.ts
DELETED
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
import { ChainNotConfiguredError, type Connector, createConnector } from '@wagmi/core'
|
|
2
|
-
import {
|
|
3
|
-
type Address,
|
|
4
|
-
numberToHex,
|
|
5
|
-
type RpcError,
|
|
6
|
-
SwitchChainError,
|
|
7
|
-
UserRejectedRequestError,
|
|
8
|
-
} from 'viem'
|
|
9
|
-
import * as z from 'zod/mini'
|
|
10
|
-
|
|
11
|
-
import { dangerous_secp256k1 as dangerous_secp256k1_adapter } from '../core/adapters/dangerous_secp256k1.js'
|
|
12
|
-
import { dialog as core_dialog } from '../core/adapters/dialog.js'
|
|
13
|
-
import { webAuthn as webAuthn_adapter } from '../core/adapters/webAuthn.js'
|
|
14
|
-
import * as Provider from '../core/Provider.js'
|
|
15
|
-
import * as Rpc from '../core/zod/rpc.js'
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Creates a wagmi connector backed by an accounts provider.
|
|
19
|
-
*/
|
|
20
|
-
export function setup(parameters: setup.Parameters = {} as setup.Parameters) {
|
|
21
|
-
type Properties = {
|
|
22
|
-
connect<withCapabilities extends boolean = false>(parameters?: {
|
|
23
|
-
capabilities?:
|
|
24
|
-
| NonNullable<z.output<typeof Rpc.wallet_connect.capabilities.request>>
|
|
25
|
-
| undefined
|
|
26
|
-
chainId?: number | undefined
|
|
27
|
-
isReconnecting?: boolean | undefined
|
|
28
|
-
withCapabilities?: withCapabilities | boolean | undefined
|
|
29
|
-
}): Promise<{
|
|
30
|
-
accounts: withCapabilities extends true
|
|
31
|
-
? readonly {
|
|
32
|
-
address: Address
|
|
33
|
-
capabilities: z.output<typeof Rpc.wallet_connect.capabilities.result>
|
|
34
|
-
}[]
|
|
35
|
-
: readonly Address[]
|
|
36
|
-
chainId: number
|
|
37
|
-
}>
|
|
38
|
-
}
|
|
39
|
-
return createConnector<Provider.Provider, Properties>((wagmiConfig) => {
|
|
40
|
-
const chains = wagmiConfig.chains
|
|
41
|
-
|
|
42
|
-
let provider: Provider.Provider | undefined
|
|
43
|
-
|
|
44
|
-
let accountsChanged: Connector['onAccountsChanged'] | undefined
|
|
45
|
-
let chainChanged: Connector['onChainChanged'] | undefined
|
|
46
|
-
let connect: Connector['onConnect'] | undefined
|
|
47
|
-
let disconnect: Connector['onDisconnect'] | undefined
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
async connect(params: Parameters<Properties['connect']>[0] = {}) {
|
|
51
|
-
const { chainId, isReconnecting, withCapabilities } = params
|
|
52
|
-
const capabilities = 'capabilities' in params ? params.capabilities : undefined
|
|
53
|
-
|
|
54
|
-
let accounts: readonly { address: Address; capabilities: Record<string, unknown> }[] = []
|
|
55
|
-
let currentChainId: number | undefined
|
|
56
|
-
|
|
57
|
-
if (isReconnecting)
|
|
58
|
-
accounts = await this.getAccounts()
|
|
59
|
-
.then((accounts) => accounts.map((address) => ({ address, capabilities: {} })))
|
|
60
|
-
.catch(() => [])
|
|
61
|
-
|
|
62
|
-
const provider = (await this.getProvider()) as Provider.create.ReturnType
|
|
63
|
-
|
|
64
|
-
try {
|
|
65
|
-
if (!accounts?.length && !isReconnecting) {
|
|
66
|
-
const res = await provider.request({
|
|
67
|
-
method: 'wallet_connect',
|
|
68
|
-
params: [
|
|
69
|
-
{
|
|
70
|
-
...(chainId ? { chainId } : {}),
|
|
71
|
-
...(capabilities
|
|
72
|
-
? {
|
|
73
|
-
capabilities: z.encode(
|
|
74
|
-
Rpc.wallet_connect.capabilities.request,
|
|
75
|
-
capabilities,
|
|
76
|
-
),
|
|
77
|
-
}
|
|
78
|
-
: {}),
|
|
79
|
-
},
|
|
80
|
-
] as never,
|
|
81
|
-
})
|
|
82
|
-
accounts = res.accounts
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
currentChainId ??= await this.getChainId()
|
|
86
|
-
if (!currentChainId) throw new ChainNotConfiguredError()
|
|
87
|
-
|
|
88
|
-
if (connect) {
|
|
89
|
-
provider.removeListener('connect', connect)
|
|
90
|
-
connect = undefined
|
|
91
|
-
}
|
|
92
|
-
if (!accountsChanged) {
|
|
93
|
-
accountsChanged = this.onAccountsChanged.bind(this)
|
|
94
|
-
provider.on('accountsChanged', accountsChanged as never)
|
|
95
|
-
}
|
|
96
|
-
if (!chainChanged) {
|
|
97
|
-
chainChanged = this.onChainChanged.bind(this)
|
|
98
|
-
provider.on('chainChanged', chainChanged!)
|
|
99
|
-
}
|
|
100
|
-
if (!disconnect) {
|
|
101
|
-
disconnect = this.onDisconnect.bind(this)
|
|
102
|
-
provider.on('disconnect', disconnect!)
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
return {
|
|
106
|
-
accounts: (withCapabilities ? accounts : accounts.map((a) => a.address)) as never,
|
|
107
|
-
chainId: currentChainId,
|
|
108
|
-
}
|
|
109
|
-
} catch (err) {
|
|
110
|
-
const error = err as RpcError
|
|
111
|
-
if (error.code === UserRejectedRequestError.code)
|
|
112
|
-
throw new UserRejectedRequestError(error)
|
|
113
|
-
throw error
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
async disconnect() {
|
|
117
|
-
const provider = (await this.getProvider()) as Provider.create.ReturnType
|
|
118
|
-
|
|
119
|
-
if (chainChanged) {
|
|
120
|
-
provider.removeListener('chainChanged', chainChanged)
|
|
121
|
-
chainChanged = undefined
|
|
122
|
-
}
|
|
123
|
-
if (disconnect) {
|
|
124
|
-
provider.removeListener('disconnect', disconnect)
|
|
125
|
-
disconnect = undefined
|
|
126
|
-
}
|
|
127
|
-
if (!connect) {
|
|
128
|
-
connect = this.onConnect?.bind(this)
|
|
129
|
-
if (connect) provider.on('connect', connect as never)
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
await provider.request({ method: 'wallet_disconnect' })
|
|
133
|
-
},
|
|
134
|
-
async getAccounts() {
|
|
135
|
-
const provider = (await this.getProvider()) as Provider.create.ReturnType
|
|
136
|
-
return provider.request({ method: 'eth_accounts' })
|
|
137
|
-
},
|
|
138
|
-
async getChainId() {
|
|
139
|
-
const provider = (await this.getProvider()) as Provider.create.ReturnType
|
|
140
|
-
const hexChainId = await provider.request({ method: 'eth_chainId' })
|
|
141
|
-
return Number(hexChainId)
|
|
142
|
-
},
|
|
143
|
-
async getProvider() {
|
|
144
|
-
provider ??= Provider.create({
|
|
145
|
-
...parameters,
|
|
146
|
-
chains: chains as never,
|
|
147
|
-
})
|
|
148
|
-
return provider as never
|
|
149
|
-
},
|
|
150
|
-
icon: parameters.adapter?.icon,
|
|
151
|
-
id: parameters.adapter?.rdns ?? 'com.example',
|
|
152
|
-
async isAuthorized() {
|
|
153
|
-
try {
|
|
154
|
-
const accounts = await this.getAccounts()
|
|
155
|
-
return !!accounts.length
|
|
156
|
-
} catch {
|
|
157
|
-
return false
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
name: parameters.adapter?.name ?? 'Accounts',
|
|
161
|
-
async onAccountsChanged(accounts) {
|
|
162
|
-
wagmiConfig.emitter.emit('change', {
|
|
163
|
-
accounts: accounts as readonly Address[],
|
|
164
|
-
})
|
|
165
|
-
},
|
|
166
|
-
onChainChanged(chain) {
|
|
167
|
-
const chainId = Number(chain)
|
|
168
|
-
wagmiConfig.emitter.emit('change', { chainId })
|
|
169
|
-
},
|
|
170
|
-
async onConnect(connectInfo) {
|
|
171
|
-
const accounts = await this.getAccounts()
|
|
172
|
-
if (accounts.length === 0) return
|
|
173
|
-
|
|
174
|
-
const chainId = Number(connectInfo.chainId)
|
|
175
|
-
wagmiConfig.emitter.emit('connect', { accounts, chainId })
|
|
176
|
-
|
|
177
|
-
const provider = (await this.getProvider()) as Provider.create.ReturnType
|
|
178
|
-
if (connect) {
|
|
179
|
-
provider.removeListener('connect', connect)
|
|
180
|
-
connect = undefined
|
|
181
|
-
}
|
|
182
|
-
if (!accountsChanged) {
|
|
183
|
-
accountsChanged = this.onAccountsChanged.bind(this)
|
|
184
|
-
provider.on('accountsChanged', accountsChanged as never)
|
|
185
|
-
}
|
|
186
|
-
if (!chainChanged) {
|
|
187
|
-
chainChanged = this.onChainChanged.bind(this)
|
|
188
|
-
provider.on('chainChanged', chainChanged!)
|
|
189
|
-
}
|
|
190
|
-
if (!disconnect) {
|
|
191
|
-
disconnect = this.onDisconnect.bind(this)
|
|
192
|
-
provider.on('disconnect', disconnect!)
|
|
193
|
-
}
|
|
194
|
-
},
|
|
195
|
-
async onDisconnect(_error) {
|
|
196
|
-
const provider = (await this.getProvider()) as Provider.create.ReturnType
|
|
197
|
-
|
|
198
|
-
wagmiConfig.emitter.emit('disconnect')
|
|
199
|
-
|
|
200
|
-
if (chainChanged) {
|
|
201
|
-
provider.removeListener('chainChanged', chainChanged)
|
|
202
|
-
chainChanged = undefined
|
|
203
|
-
}
|
|
204
|
-
if (disconnect) {
|
|
205
|
-
provider.removeListener('disconnect', disconnect)
|
|
206
|
-
disconnect = undefined
|
|
207
|
-
}
|
|
208
|
-
if (!connect) {
|
|
209
|
-
connect = this.onConnect?.bind(this)
|
|
210
|
-
if (connect) provider.on('connect', connect as never)
|
|
211
|
-
}
|
|
212
|
-
},
|
|
213
|
-
async setup() {
|
|
214
|
-
if (!connect) {
|
|
215
|
-
const provider = (await this.getProvider()) as Provider.create.ReturnType
|
|
216
|
-
connect = this.onConnect?.bind(this)
|
|
217
|
-
if (connect) provider.on('connect', connect as never)
|
|
218
|
-
}
|
|
219
|
-
},
|
|
220
|
-
async switchChain({ chainId }) {
|
|
221
|
-
const chain = chains.find((x) => x.id === chainId)
|
|
222
|
-
if (!chain) throw new SwitchChainError(new ChainNotConfiguredError())
|
|
223
|
-
|
|
224
|
-
const provider = (await this.getProvider()) as Provider.create.ReturnType
|
|
225
|
-
await provider.request({
|
|
226
|
-
method: 'wallet_switchEthereumChain',
|
|
227
|
-
params: [{ chainId: numberToHex(chainId) }],
|
|
228
|
-
})
|
|
229
|
-
|
|
230
|
-
return chain
|
|
231
|
-
},
|
|
232
|
-
type: 'injected',
|
|
233
|
-
}
|
|
234
|
-
})
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
export declare namespace setup {
|
|
238
|
-
type Parameters = Provider.create.Options
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* Creates a wagmi connector backed by a WebAuthn adapter.
|
|
243
|
-
*
|
|
244
|
-
* @example
|
|
245
|
-
* ```ts
|
|
246
|
-
* import { createConfig, http } from 'wagmi'
|
|
247
|
-
* import { tempoModerato } from 'wagmi/chains'
|
|
248
|
-
* import { webAuthn } from 'accounts/wagmi'
|
|
249
|
-
*
|
|
250
|
-
* const config = createConfig({
|
|
251
|
-
* chains: [tempoModerato],
|
|
252
|
-
* connectors: [webAuthn()],
|
|
253
|
-
* transports: { [tempoModerato.id]: http() },
|
|
254
|
-
* })
|
|
255
|
-
* ```
|
|
256
|
-
*/
|
|
257
|
-
export function webAuthn(options: webAuthn.Options = {}) {
|
|
258
|
-
const { authUrl, ceremony, icon, name, rdns, ...rest } = options
|
|
259
|
-
const adapter = ceremony
|
|
260
|
-
? webAuthn_adapter({ ceremony, icon, name, rdns })
|
|
261
|
-
: webAuthn_adapter({ authUrl, icon, name, rdns })
|
|
262
|
-
|
|
263
|
-
return setup({
|
|
264
|
-
...rest,
|
|
265
|
-
adapter,
|
|
266
|
-
})
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
export declare namespace webAuthn {
|
|
270
|
-
type Options = webAuthn_adapter.Options & Omit<setup.Parameters, 'adapter'>
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
/**
|
|
274
|
-
* Creates a wagmi connector backed by a dialog adapter.
|
|
275
|
-
*
|
|
276
|
-
* @example
|
|
277
|
-
* ```ts
|
|
278
|
-
* import { createConfig, http } from 'wagmi'
|
|
279
|
-
* import { tempoModerato } from 'wagmi/chains'
|
|
280
|
-
* import { dialog } from 'accounts/wagmi'
|
|
281
|
-
*
|
|
282
|
-
* const config = createConfig({
|
|
283
|
-
* chains: [tempoModerato],
|
|
284
|
-
* connectors: [dialog()],
|
|
285
|
-
* transports: { [tempoModerato.id]: http() },
|
|
286
|
-
* })
|
|
287
|
-
* ```
|
|
288
|
-
*/
|
|
289
|
-
export function dialog(options: dialog.Options = {}) {
|
|
290
|
-
const { dialog: dialogOption, host, icon, name, rdns, ...rest } = options
|
|
291
|
-
return setup({
|
|
292
|
-
...rest,
|
|
293
|
-
adapter: core_dialog({ dialog: dialogOption, host, icon, name, rdns }),
|
|
294
|
-
})
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
export declare namespace dialog {
|
|
298
|
-
type Options = core_dialog.Options & Omit<setup.Parameters, 'adapter'>
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
/**
|
|
302
|
-
* Creates a wagmi connector backed by a secp256k1 adapter.
|
|
303
|
-
*
|
|
304
|
-
* @deprecated Private keys are stored in plaintext via the provider's storage adapter.
|
|
305
|
-
* Use only for development, testing, or when the threat model allows it.
|
|
306
|
-
*
|
|
307
|
-
* @example
|
|
308
|
-
* ```ts
|
|
309
|
-
* import { createConfig, http } from 'wagmi'
|
|
310
|
-
* import { tempoModerato } from 'wagmi/chains'
|
|
311
|
-
* import { dangerous_secp256k1 } from 'accounts/wagmi'
|
|
312
|
-
*
|
|
313
|
-
* const config = createConfig({
|
|
314
|
-
* chains: [tempoModerato],
|
|
315
|
-
* connectors: [dangerous_secp256k1()],
|
|
316
|
-
* transports: { [tempoModerato.id]: http() },
|
|
317
|
-
* })
|
|
318
|
-
* ```
|
|
319
|
-
*/
|
|
320
|
-
export function dangerous_secp256k1(options: dangerous_secp256k1.Options = {}) {
|
|
321
|
-
const { icon, name, privateKey, rdns, ...rest } = options
|
|
322
|
-
return setup({
|
|
323
|
-
...rest,
|
|
324
|
-
adapter: dangerous_secp256k1_adapter({ icon, name, privateKey, rdns }),
|
|
325
|
-
})
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
export declare namespace dangerous_secp256k1 {
|
|
329
|
-
type Options = dangerous_secp256k1_adapter.Options & Omit<setup.Parameters, 'adapter'>
|
|
330
|
-
}
|