accounts 0.10.2 → 0.10.3
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 +7 -0
- package/dist/core/Provider.d.ts.map +1 -1
- package/dist/core/Provider.js +19 -13
- package/dist/core/Provider.js.map +1 -1
- package/dist/core/adapters/turnkey.d.ts +120 -0
- package/dist/core/adapters/turnkey.d.ts.map +1 -0
- package/dist/core/adapters/turnkey.js +466 -0
- package/dist/core/adapters/turnkey.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/server/internal/handlers/utils.d.ts.map +1 -1
- package/dist/server/internal/handlers/utils.js +5 -3
- package/dist/server/internal/handlers/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/core/Provider.test.ts +19 -0
- package/src/core/Provider.ts +20 -14
- package/src/core/adapters/turnkey.test.ts +337 -0
- package/src/core/adapters/turnkey.ts +643 -0
- package/src/index.ts +1 -0
- package/src/server/internal/handlers/utils.ts +5 -2
|
@@ -0,0 +1,466 @@
|
|
|
1
|
+
import { Address as core_Address, Hex, Provider as ox_Provider, PublicKey, Signature, WebCryptoP256, } from 'ox';
|
|
2
|
+
import { KeyAuthorization, SignatureEnvelope } from 'ox/tempo';
|
|
3
|
+
import { hashMessage, hashTypedData, isAddressEqual, keccak256 } from 'viem';
|
|
4
|
+
import { prepareTransactionRequest } from 'viem/actions';
|
|
5
|
+
import { Transaction as TempoTransaction } from 'viem/tempo';
|
|
6
|
+
import * as AccessKey from '../AccessKey.js';
|
|
7
|
+
import * as Adapter from '../Adapter.js';
|
|
8
|
+
import * as Store from '../Store.js';
|
|
9
|
+
const turnkeySessionErrorCodes = new Set([
|
|
10
|
+
'API_KEY_EXPIRED',
|
|
11
|
+
'NO_SESSION_FOUND',
|
|
12
|
+
'REQUEST_NOT_AUTHORIZED',
|
|
13
|
+
'SESSION_EXPIRED',
|
|
14
|
+
'SIGNATURE_INVALID',
|
|
15
|
+
'SIGNATURE_MISSING',
|
|
16
|
+
'UNAUTHENTICATED',
|
|
17
|
+
'UNAUTHORIZED',
|
|
18
|
+
]);
|
|
19
|
+
/**
|
|
20
|
+
* Creates a Turnkey adapter backed by `@turnkey/core` client sessions and Ethereum wallet accounts.
|
|
21
|
+
*
|
|
22
|
+
* The adapter owns silent reconnect, session-expiry cleanup, and provider signing actions.
|
|
23
|
+
* Apps provide the UI-bearing registration and login flows through `createAccount` and
|
|
24
|
+
* `loadAccounts`.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* import { TurnkeyClient } from '@turnkey/core'
|
|
29
|
+
* import { Provider, turnkey } from 'accounts'
|
|
30
|
+
*
|
|
31
|
+
* const provider = Provider.create({
|
|
32
|
+
* adapter: turnkey({
|
|
33
|
+
* client: new TurnkeyClient({ organizationId, authProxyConfigId }),
|
|
34
|
+
* createAccount: async ({ client, parameters }) => {
|
|
35
|
+
* await client.signUpWithPasskey({
|
|
36
|
+
* createSubOrgParams: { userName: parameters.name },
|
|
37
|
+
* })
|
|
38
|
+
* return (await client.fetchWallets())
|
|
39
|
+
* .flatMap((wallet) => wallet.accounts)
|
|
40
|
+
* .find((account) => account.addressFormat === 'ADDRESS_FORMAT_ETHEREUM')!
|
|
41
|
+
* },
|
|
42
|
+
* loadAccounts: async ({ client }) => {
|
|
43
|
+
* const session = await client.getSession()
|
|
44
|
+
* if (!session || session.expiry * 1000 <= Date.now()) await client.loginWithPasskey()
|
|
45
|
+
* return (await client.fetchWallets())
|
|
46
|
+
* .flatMap((wallet) => wallet.accounts)
|
|
47
|
+
* .filter((account) => account.addressFormat === 'ADDRESS_FORMAT_ETHEREUM')
|
|
48
|
+
* },
|
|
49
|
+
* }),
|
|
50
|
+
* })
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export function turnkey(options) {
|
|
54
|
+
const { icon, name = 'Turnkey', rdns = 'com.turnkey', sessionSkewMs = 10_000 } = options;
|
|
55
|
+
return Adapter.define({ icon, name, rdns }, ({ getAccount, getClient, store }) => {
|
|
56
|
+
let turnkeyClient_promise;
|
|
57
|
+
let expiry_timeout;
|
|
58
|
+
let restore_promise;
|
|
59
|
+
let walletAccounts = [];
|
|
60
|
+
async function getTurnkeyClient() {
|
|
61
|
+
turnkeyClient_promise ??= (async () => {
|
|
62
|
+
const { client } = options;
|
|
63
|
+
await client.init?.();
|
|
64
|
+
return client;
|
|
65
|
+
})();
|
|
66
|
+
return await turnkeyClient_promise;
|
|
67
|
+
}
|
|
68
|
+
function toStoreAccount(account, label) {
|
|
69
|
+
return {
|
|
70
|
+
address: core_Address.from(account.address),
|
|
71
|
+
...(label ? { label } : {}),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function clear() {
|
|
75
|
+
if (expiry_timeout)
|
|
76
|
+
clearTimeout(expiry_timeout);
|
|
77
|
+
expiry_timeout = undefined;
|
|
78
|
+
restore_promise = undefined;
|
|
79
|
+
walletAccounts = [];
|
|
80
|
+
store.setState({ accessKeys: [], accounts: [], activeAccount: 0 });
|
|
81
|
+
}
|
|
82
|
+
function scheduleExpiry(session) {
|
|
83
|
+
if (expiry_timeout)
|
|
84
|
+
clearTimeout(expiry_timeout);
|
|
85
|
+
expiry_timeout = undefined;
|
|
86
|
+
const delay = Math.max(session.expiry * 1000 - Date.now() - sessionSkewMs, 0);
|
|
87
|
+
expiry_timeout = setTimeout(() => clear(), delay);
|
|
88
|
+
}
|
|
89
|
+
async function getValidSession() {
|
|
90
|
+
const turnkeyClient = await getTurnkeyClient();
|
|
91
|
+
const session = await turnkeyClient.getSession();
|
|
92
|
+
if (!session || session.expiry * 1000 - sessionSkewMs <= Date.now()) {
|
|
93
|
+
clear();
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
scheduleExpiry(session);
|
|
97
|
+
return session;
|
|
98
|
+
}
|
|
99
|
+
async function restore() {
|
|
100
|
+
await Store.waitForHydration(store);
|
|
101
|
+
if (walletAccounts.length > 0)
|
|
102
|
+
return;
|
|
103
|
+
if (restore_promise)
|
|
104
|
+
return await restore_promise;
|
|
105
|
+
restore_promise = (async () => {
|
|
106
|
+
const state = store.getState();
|
|
107
|
+
const persisted = state.accounts;
|
|
108
|
+
if (persisted.length === 0)
|
|
109
|
+
return;
|
|
110
|
+
const session = await getValidSession();
|
|
111
|
+
if (!session)
|
|
112
|
+
return;
|
|
113
|
+
const turnkeyClient = await getTurnkeyClient();
|
|
114
|
+
const restored = (await turnkeyClient.fetchWallets()).flatMap((wallet) => wallet.accounts.filter((account) => account.addressFormat === 'ADDRESS_FORMAT_ETHEREUM'));
|
|
115
|
+
walletAccounts = persisted
|
|
116
|
+
.map((account) => restored.find((walletAccount) => isAddressEqual(core_Address.from(walletAccount.address), account.address)))
|
|
117
|
+
.filter((account) => !!account);
|
|
118
|
+
if (walletAccounts.length === 0)
|
|
119
|
+
return;
|
|
120
|
+
store.setState({
|
|
121
|
+
accounts: walletAccounts.map((account) => toStoreAccount(account)),
|
|
122
|
+
activeAccount: Math.min(state.activeAccount, walletAccounts.length - 1),
|
|
123
|
+
});
|
|
124
|
+
})();
|
|
125
|
+
try {
|
|
126
|
+
await restore_promise;
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
restore_promise = undefined;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async function requireSession() {
|
|
133
|
+
const session = await getValidSession();
|
|
134
|
+
if (!session)
|
|
135
|
+
throw new ox_Provider.DisconnectedError({ message: 'Turnkey session expired.' });
|
|
136
|
+
}
|
|
137
|
+
async function accountForSigning(address) {
|
|
138
|
+
await restore();
|
|
139
|
+
await requireSession();
|
|
140
|
+
const address_ = address ?? store.getState().accounts[store.getState().activeAccount]?.address;
|
|
141
|
+
if (!address_)
|
|
142
|
+
throw new ox_Provider.DisconnectedError({ message: 'No accounts connected.' });
|
|
143
|
+
const account = walletAccounts.find((account) => isAddressEqual(core_Address.from(account.address), address_));
|
|
144
|
+
if (account)
|
|
145
|
+
return account;
|
|
146
|
+
if (walletAccounts.length === 0)
|
|
147
|
+
throw new ox_Provider.DisconnectedError({
|
|
148
|
+
message: 'No Turnkey account connected.',
|
|
149
|
+
});
|
|
150
|
+
throw new ox_Provider.UnauthorizedError({ message: `Account "${address_}" not found.` });
|
|
151
|
+
}
|
|
152
|
+
function signatureToHex(value) {
|
|
153
|
+
const v = value.v.startsWith('0x') ? value.v : Hex.fromNumber(Number(value.v));
|
|
154
|
+
return Hex.concat(value.r, value.s, Hex.padLeft(v, 1));
|
|
155
|
+
}
|
|
156
|
+
async function signPayload(parameters) {
|
|
157
|
+
const { payload, turnkeyClient, walletAccount } = parameters;
|
|
158
|
+
const result = await turnkeyClient.httpClient
|
|
159
|
+
.signRawPayload({
|
|
160
|
+
encoding: 'PAYLOAD_ENCODING_HEXADECIMAL',
|
|
161
|
+
hashFunction: 'HASH_FUNCTION_NO_OP',
|
|
162
|
+
payload,
|
|
163
|
+
signWith: walletAccount.address,
|
|
164
|
+
})
|
|
165
|
+
.catch((error) => {
|
|
166
|
+
if (!isSessionError(error))
|
|
167
|
+
throw error;
|
|
168
|
+
clear();
|
|
169
|
+
throw new ox_Provider.DisconnectedError({ message: 'Turnkey session expired.' });
|
|
170
|
+
});
|
|
171
|
+
return signatureToHex(result);
|
|
172
|
+
}
|
|
173
|
+
async function prepareKeyAuthorization(options) {
|
|
174
|
+
const { expiry, limits, scopes } = options;
|
|
175
|
+
const chainId = options.chainId ?? getClient().chain.id;
|
|
176
|
+
if (options.publicKey || options.address) {
|
|
177
|
+
const address = options.address ?? core_Address.fromPublicKey(PublicKey.from(options.publicKey));
|
|
178
|
+
const keyAuthorization = KeyAuthorization.from({
|
|
179
|
+
address,
|
|
180
|
+
chainId: BigInt(chainId),
|
|
181
|
+
expiry,
|
|
182
|
+
limits,
|
|
183
|
+
scopes,
|
|
184
|
+
type: options.keyType ?? 'secp256k1',
|
|
185
|
+
});
|
|
186
|
+
return { keyAuthorization };
|
|
187
|
+
}
|
|
188
|
+
const keyPair = await WebCryptoP256.createKeyPair();
|
|
189
|
+
const address = core_Address.fromPublicKey(PublicKey.from(keyPair.publicKey));
|
|
190
|
+
const keyAuthorization = KeyAuthorization.from({
|
|
191
|
+
address,
|
|
192
|
+
chainId: BigInt(chainId),
|
|
193
|
+
expiry,
|
|
194
|
+
limits,
|
|
195
|
+
scopes,
|
|
196
|
+
type: 'p256',
|
|
197
|
+
});
|
|
198
|
+
return { keyAuthorization, keyPair };
|
|
199
|
+
}
|
|
200
|
+
async function signKeyAuthorization(account, prepared, options = {}) {
|
|
201
|
+
const digest = KeyAuthorization.getSignPayload(prepared.keyAuthorization);
|
|
202
|
+
const signature = options.signature ??
|
|
203
|
+
(await signPayload({
|
|
204
|
+
payload: digest,
|
|
205
|
+
turnkeyClient: await getTurnkeyClient(),
|
|
206
|
+
walletAccount: account,
|
|
207
|
+
}));
|
|
208
|
+
const keyAuthorization = KeyAuthorization.from(prepared.keyAuthorization, {
|
|
209
|
+
signature: SignatureEnvelope.from(signature),
|
|
210
|
+
});
|
|
211
|
+
AccessKey.save({
|
|
212
|
+
address: core_Address.from(account.address),
|
|
213
|
+
keyAuthorization,
|
|
214
|
+
...(prepared.keyPair ? { keyPair: prepared.keyPair } : {}),
|
|
215
|
+
store,
|
|
216
|
+
});
|
|
217
|
+
return KeyAuthorization.toRpc(keyAuthorization);
|
|
218
|
+
}
|
|
219
|
+
async function withAccessKey(fn) {
|
|
220
|
+
const account = (() => {
|
|
221
|
+
try {
|
|
222
|
+
return getAccount({ signable: true });
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
return undefined;
|
|
226
|
+
}
|
|
227
|
+
})();
|
|
228
|
+
if (!account || account.source !== 'accessKey')
|
|
229
|
+
return undefined;
|
|
230
|
+
const keyAuthorization = AccessKey.getPending(account, { store });
|
|
231
|
+
try {
|
|
232
|
+
const result = await fn(account, keyAuthorization ?? undefined);
|
|
233
|
+
AccessKey.removePending(account, { store });
|
|
234
|
+
return result;
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
AccessKey.remove(account, { store });
|
|
238
|
+
return undefined;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
async function signTransaction(parameters) {
|
|
242
|
+
const turnkeyClient = await getTurnkeyClient();
|
|
243
|
+
const account = await accountForSigning(parameters.from);
|
|
244
|
+
const { feePayer, ...rest } = parameters;
|
|
245
|
+
const viemClient = getClient({
|
|
246
|
+
feePayer: feePayer === true ? undefined : feePayer,
|
|
247
|
+
});
|
|
248
|
+
const prepared = await prepareTransactionRequest(viemClient, {
|
|
249
|
+
account: core_Address.from(account.address),
|
|
250
|
+
...rest,
|
|
251
|
+
...(feePayer ? { feePayer: true } : {}),
|
|
252
|
+
type: 'tempo',
|
|
253
|
+
});
|
|
254
|
+
const presign = (() => {
|
|
255
|
+
if ('feePayerSignature' in prepared && prepared.feePayerSignature)
|
|
256
|
+
return { ...prepared, feePayerSignature: null };
|
|
257
|
+
return prepared;
|
|
258
|
+
})();
|
|
259
|
+
const unsignedTransaction = await TempoTransaction.serialize(presign);
|
|
260
|
+
const signature = await signPayload({
|
|
261
|
+
payload: keccak256(unsignedTransaction),
|
|
262
|
+
turnkeyClient,
|
|
263
|
+
walletAccount: account,
|
|
264
|
+
});
|
|
265
|
+
return await TempoTransaction.serialize(prepared, SignatureEnvelope.from(Signature.fromHex(signature)));
|
|
266
|
+
}
|
|
267
|
+
function isSessionError(error) {
|
|
268
|
+
const code = getTurnkeyErrorCode(error);
|
|
269
|
+
return !!code && turnkeySessionErrorCodes.has(code);
|
|
270
|
+
}
|
|
271
|
+
function getTurnkeyErrorCode(error) {
|
|
272
|
+
if (!isObject(error))
|
|
273
|
+
return undefined;
|
|
274
|
+
if (typeof error.code === 'string')
|
|
275
|
+
return error.code;
|
|
276
|
+
if (Array.isArray(error.details)) {
|
|
277
|
+
for (const detail of error.details) {
|
|
278
|
+
if (!isObject(detail))
|
|
279
|
+
continue;
|
|
280
|
+
if (typeof detail.turnkeyErrorCode === 'string')
|
|
281
|
+
return detail.turnkeyErrorCode;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return getTurnkeyErrorCode(error.cause);
|
|
285
|
+
}
|
|
286
|
+
function isObject(value) {
|
|
287
|
+
return typeof value === 'object' && value !== null;
|
|
288
|
+
}
|
|
289
|
+
void restore();
|
|
290
|
+
return {
|
|
291
|
+
cleanup() {
|
|
292
|
+
if (expiry_timeout)
|
|
293
|
+
clearTimeout(expiry_timeout);
|
|
294
|
+
},
|
|
295
|
+
actions: {
|
|
296
|
+
async createAccount(parameters) {
|
|
297
|
+
const { authorizeAccessKey, personalSign } = parameters;
|
|
298
|
+
if (personalSign && parameters.digest)
|
|
299
|
+
throw new ox_Provider.ProviderRpcError(-32602, '`digest` and `personalSign` cannot both be set on `wallet_connect`.');
|
|
300
|
+
const turnkeyClient = await getTurnkeyClient();
|
|
301
|
+
const account = await options.createAccount({ client: turnkeyClient, parameters });
|
|
302
|
+
await requireSession();
|
|
303
|
+
walletAccounts = [account];
|
|
304
|
+
restore_promise = undefined;
|
|
305
|
+
const digest = personalSign ? hashMessage(personalSign.message) : parameters.digest;
|
|
306
|
+
const keyAuthorization = authorizeAccessKey
|
|
307
|
+
? await signKeyAuthorization(account, await prepareKeyAuthorization(authorizeAccessKey), { signature: authorizeAccessKey.signature })
|
|
308
|
+
: undefined;
|
|
309
|
+
return {
|
|
310
|
+
accounts: [toStoreAccount(account, parameters.name)],
|
|
311
|
+
...(personalSign ? { personalSign: { message: personalSign.message } } : {}),
|
|
312
|
+
...(keyAuthorization ? { keyAuthorization } : {}),
|
|
313
|
+
signature: digest
|
|
314
|
+
? await signPayload({
|
|
315
|
+
payload: digest,
|
|
316
|
+
turnkeyClient,
|
|
317
|
+
walletAccount: account,
|
|
318
|
+
})
|
|
319
|
+
: undefined,
|
|
320
|
+
};
|
|
321
|
+
},
|
|
322
|
+
async loadAccounts(parameters) {
|
|
323
|
+
const { authorizeAccessKey, personalSign } = parameters ?? {};
|
|
324
|
+
if (personalSign && parameters?.digest)
|
|
325
|
+
throw new ox_Provider.ProviderRpcError(-32602, '`digest` and `personalSign` cannot both be set on `wallet_connect`.');
|
|
326
|
+
const turnkeyClient = await getTurnkeyClient();
|
|
327
|
+
walletAccounts = await options.loadAccounts({ client: turnkeyClient, parameters });
|
|
328
|
+
await requireSession();
|
|
329
|
+
restore_promise = undefined;
|
|
330
|
+
const digest = personalSign ? hashMessage(personalSign.message) : parameters?.digest;
|
|
331
|
+
const account = walletAccounts[0];
|
|
332
|
+
const keyAuthorization = authorizeAccessKey && account
|
|
333
|
+
? await signKeyAuthorization(account, await prepareKeyAuthorization(authorizeAccessKey), { signature: authorizeAccessKey.signature })
|
|
334
|
+
: undefined;
|
|
335
|
+
return {
|
|
336
|
+
accounts: walletAccounts.map((account) => toStoreAccount(account)),
|
|
337
|
+
...(personalSign ? { personalSign: { message: personalSign.message } } : {}),
|
|
338
|
+
...(keyAuthorization ? { keyAuthorization } : {}),
|
|
339
|
+
signature: digest && account
|
|
340
|
+
? await signPayload({
|
|
341
|
+
payload: digest,
|
|
342
|
+
turnkeyClient,
|
|
343
|
+
walletAccount: account,
|
|
344
|
+
})
|
|
345
|
+
: undefined,
|
|
346
|
+
};
|
|
347
|
+
},
|
|
348
|
+
async authorizeAccessKey(parameters) {
|
|
349
|
+
const account = await accountForSigning(undefined);
|
|
350
|
+
const prepared = await prepareKeyAuthorization(parameters);
|
|
351
|
+
const keyAuthorization = await signKeyAuthorization(account, prepared, {
|
|
352
|
+
signature: parameters.signature,
|
|
353
|
+
});
|
|
354
|
+
return { keyAuthorization, rootAddress: core_Address.from(account.address) };
|
|
355
|
+
},
|
|
356
|
+
async signPersonalMessage(parameters) {
|
|
357
|
+
const turnkeyClient = await getTurnkeyClient();
|
|
358
|
+
const account = await accountForSigning(parameters.address);
|
|
359
|
+
return await signPayload({
|
|
360
|
+
payload: hashMessage({ raw: parameters.data }),
|
|
361
|
+
turnkeyClient,
|
|
362
|
+
walletAccount: account,
|
|
363
|
+
});
|
|
364
|
+
},
|
|
365
|
+
async signTransaction(parameters) {
|
|
366
|
+
const result = await withAccessKey(async (account, keyAuthorization) => {
|
|
367
|
+
const { feePayer, ...rest } = parameters;
|
|
368
|
+
const viemClient = getClient({
|
|
369
|
+
feePayer: feePayer === true ? undefined : feePayer,
|
|
370
|
+
});
|
|
371
|
+
const prepared = await prepareTransactionRequest(viemClient, {
|
|
372
|
+
account,
|
|
373
|
+
...rest,
|
|
374
|
+
...(feePayer ? { feePayer: true } : {}),
|
|
375
|
+
keyAuthorization,
|
|
376
|
+
type: 'tempo',
|
|
377
|
+
});
|
|
378
|
+
return await account.signTransaction(prepared);
|
|
379
|
+
});
|
|
380
|
+
if (result !== undefined)
|
|
381
|
+
return result;
|
|
382
|
+
return await signTransaction(parameters);
|
|
383
|
+
},
|
|
384
|
+
async signTypedData(parameters) {
|
|
385
|
+
const turnkeyClient = await getTurnkeyClient();
|
|
386
|
+
const account = await accountForSigning(parameters.address);
|
|
387
|
+
const typedData = JSON.parse(parameters.data);
|
|
388
|
+
return await signPayload({
|
|
389
|
+
payload: hashTypedData(typedData),
|
|
390
|
+
turnkeyClient,
|
|
391
|
+
walletAccount: account,
|
|
392
|
+
});
|
|
393
|
+
},
|
|
394
|
+
async sendTransaction(parameters) {
|
|
395
|
+
const result = await withAccessKey(async (account, keyAuthorization) => {
|
|
396
|
+
const { feePayer, ...rest } = parameters;
|
|
397
|
+
const viemClient = getClient({
|
|
398
|
+
chainId: parameters.chainId,
|
|
399
|
+
feePayer: feePayer === true ? undefined : feePayer,
|
|
400
|
+
});
|
|
401
|
+
const prepared = await prepareTransactionRequest(viemClient, {
|
|
402
|
+
account,
|
|
403
|
+
...rest,
|
|
404
|
+
...(feePayer ? { feePayer: true } : {}),
|
|
405
|
+
keyAuthorization,
|
|
406
|
+
type: 'tempo',
|
|
407
|
+
});
|
|
408
|
+
const signed = await account.signTransaction(prepared);
|
|
409
|
+
return await viemClient.request({
|
|
410
|
+
method: 'eth_sendRawTransaction',
|
|
411
|
+
params: [signed],
|
|
412
|
+
});
|
|
413
|
+
});
|
|
414
|
+
if (result !== undefined)
|
|
415
|
+
return result;
|
|
416
|
+
const signed = await signTransaction(parameters);
|
|
417
|
+
const viemClient = getClient({
|
|
418
|
+
chainId: parameters.chainId,
|
|
419
|
+
feePayer: parameters.feePayer === true ? undefined : parameters.feePayer,
|
|
420
|
+
});
|
|
421
|
+
return await viemClient.request({
|
|
422
|
+
method: 'eth_sendRawTransaction',
|
|
423
|
+
params: [signed],
|
|
424
|
+
});
|
|
425
|
+
},
|
|
426
|
+
async sendTransactionSync(parameters) {
|
|
427
|
+
const result = await withAccessKey(async (account, keyAuthorization) => {
|
|
428
|
+
const { feePayer, ...rest } = parameters;
|
|
429
|
+
const viemClient = getClient({
|
|
430
|
+
chainId: parameters.chainId,
|
|
431
|
+
feePayer: feePayer === true ? undefined : feePayer,
|
|
432
|
+
});
|
|
433
|
+
const prepared = await prepareTransactionRequest(viemClient, {
|
|
434
|
+
account,
|
|
435
|
+
...rest,
|
|
436
|
+
...(feePayer ? { feePayer: true } : {}),
|
|
437
|
+
keyAuthorization,
|
|
438
|
+
type: 'tempo',
|
|
439
|
+
});
|
|
440
|
+
const signed = await account.signTransaction(prepared);
|
|
441
|
+
return await viemClient.request({
|
|
442
|
+
method: 'eth_sendRawTransactionSync',
|
|
443
|
+
params: [signed],
|
|
444
|
+
});
|
|
445
|
+
});
|
|
446
|
+
if (result !== undefined)
|
|
447
|
+
return result;
|
|
448
|
+
const signed = await signTransaction(parameters);
|
|
449
|
+
const viemClient = getClient({
|
|
450
|
+
chainId: parameters.chainId,
|
|
451
|
+
feePayer: parameters.feePayer === true ? undefined : parameters.feePayer,
|
|
452
|
+
});
|
|
453
|
+
return await viemClient.request({
|
|
454
|
+
method: 'eth_sendRawTransactionSync',
|
|
455
|
+
params: [signed],
|
|
456
|
+
});
|
|
457
|
+
},
|
|
458
|
+
async disconnect() {
|
|
459
|
+
await (await getTurnkeyClient()).logout();
|
|
460
|
+
clear();
|
|
461
|
+
},
|
|
462
|
+
},
|
|
463
|
+
};
|
|
464
|
+
});
|
|
465
|
+
}
|
|
466
|
+
//# sourceMappingURL=turnkey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turnkey.js","sourceRoot":"","sources":["../../../src/core/adapters/turnkey.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export * as TrustedHosts from './core/TrustedHosts.js';
|
|
|
13
13
|
export * as WebAuthnCeremony from './core/WebAuthnCeremony.js';
|
|
14
14
|
export { dialog, dialog as tempoWallet } from './core/adapters/dialog.js';
|
|
15
15
|
export { local } from './core/adapters/local.js';
|
|
16
|
+
export { turnkey } from './core/adapters/turnkey.js';
|
|
16
17
|
export { webAuthn } from './core/adapters/webAuthn.js';
|
|
17
18
|
export { dangerous_secp256k1 } from './core/adapters/dangerous_secp256k1.js';
|
|
18
19
|
//# sourceMappingURL=index.d.ts.map
|
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,oBAAoB,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,7 @@ export * as TrustedHosts from './core/TrustedHosts.js';
|
|
|
13
13
|
export * as WebAuthnCeremony from './core/WebAuthnCeremony.js';
|
|
14
14
|
export { dialog, dialog as tempoWallet } from './core/adapters/dialog.js';
|
|
15
15
|
export { local } from './core/adapters/local.js';
|
|
16
|
+
export { turnkey } from './core/adapters/turnkey.js';
|
|
16
17
|
export { webAuthn } from './core/adapters/webAuthn.js';
|
|
17
18
|
export { dangerous_secp256k1 } from './core/adapters/dangerous_secp256k1.js';
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,gCAAgC,CAAA;AACtE,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAA;AACxC,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,gBAAgB,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/server/internal/handlers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,CAAA;AACjD,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAoB,MAAM,UAAU,CAAA;AAC5E,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,MAAM,CAAA;AAC7C,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,sBAS5C;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,2BAI1F;AAED,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,EAAE,CAAA;CAAE,CAmBhD;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/server/internal/handlers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,CAAA;AACjD,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAoB,MAAM,UAAU,CAAA;AAC5E,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,MAAM,CAAA;AAC7C,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,sBAS5C;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,2BAI1F;AAED,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,EAAE,CAAA;CAAE,CAmBhD;AAoBD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,uDAGnF;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;EA2B1E;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,YAEtE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,YAExE;AAED,eAAO,MAAM,WAAW,gHAA2D,CAAA"}
|
|
@@ -42,6 +42,10 @@ export function normalizeFillTransactionRequest(tx) {
|
|
|
42
42
|
};
|
|
43
43
|
return { ...rest, ...withKeyAuthorization, calls: [call] };
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Forwards `keyAuthorization` to the chain in RPC shape. Pass-through
|
|
47
|
+
* when already RPC; convert via `KeyAuthorization.toRpc` when internal.
|
|
48
|
+
*/
|
|
45
49
|
function normalizeKeyAuthorization(value) {
|
|
46
50
|
if (!value || typeof value !== 'object')
|
|
47
51
|
return undefined;
|
|
@@ -50,9 +54,7 @@ function normalizeKeyAuthorization(value) {
|
|
|
50
54
|
if (!signature || typeof signature !== 'object')
|
|
51
55
|
return undefined;
|
|
52
56
|
const isInternal = typeof signature.signature === 'object' && signature.signature !== null;
|
|
53
|
-
|
|
54
|
-
return undefined;
|
|
55
|
-
return KeyAuthorization.fromRpc(value);
|
|
57
|
+
return isInternal ? KeyAuthorization.toRpc(value) : value;
|
|
56
58
|
}
|
|
57
59
|
function normalizeFillValue(value) {
|
|
58
60
|
if (typeof value !== 'string' || !value.startsWith('0x'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/server/internal/handlers/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/server/internal/handlers/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -18,6 +18,7 @@ import { headlessWebAuthn, secp256k1 } from '../../test/adapters.js'
|
|
|
18
18
|
import { accounts, chain, getClient, http } from '../../test/config.js'
|
|
19
19
|
import { createServer, type Server } from '../../test/utils.js'
|
|
20
20
|
import * as Handler from '../server/Handler.js'
|
|
21
|
+
import { local as core_local } from './adapters/local.js'
|
|
21
22
|
import * as Expiry from './Expiry.js'
|
|
22
23
|
import * as Provider from './Provider.js'
|
|
23
24
|
import * as Storage from './Storage.js'
|
|
@@ -95,6 +96,24 @@ describe.each(adapters)('$name', ({ adapter }: (typeof adapters)[number]) => {
|
|
|
95
96
|
const result = await provider.request({ method: 'eth_requestAccounts' })
|
|
96
97
|
expect(result.length).toBeGreaterThanOrEqual(1)
|
|
97
98
|
})
|
|
99
|
+
|
|
100
|
+
test('behavior: returns connected accounts without reloading', async () => {
|
|
101
|
+
let calls = 0
|
|
102
|
+
const provider = Provider.create({
|
|
103
|
+
adapter: core_local({
|
|
104
|
+
loadAccounts: async () => {
|
|
105
|
+
calls++
|
|
106
|
+
return { accounts: [accounts[0]!] }
|
|
107
|
+
},
|
|
108
|
+
}),
|
|
109
|
+
})
|
|
110
|
+
|
|
111
|
+
const first = await provider.request({ method: 'eth_requestAccounts' })
|
|
112
|
+
const result = await provider.request({ method: 'eth_requestAccounts' })
|
|
113
|
+
|
|
114
|
+
expect(calls).toBe(1)
|
|
115
|
+
expect(result).toEqual(first)
|
|
116
|
+
})
|
|
98
117
|
})
|
|
99
118
|
|
|
100
119
|
describe('wallet_connect', () => {
|