accounts 0.12.2 → 0.13.0

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.
Files changed (99) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +6 -5
  3. package/dist/cli/adapter.d.ts.map +1 -1
  4. package/dist/cli/adapter.js +53 -67
  5. package/dist/cli/adapter.js.map +1 -1
  6. package/dist/core/AccessKey.d.ts +89 -106
  7. package/dist/core/AccessKey.d.ts.map +1 -1
  8. package/dist/core/AccessKey.js +226 -210
  9. package/dist/core/AccessKey.js.map +1 -1
  10. package/dist/core/Account.d.ts +0 -9
  11. package/dist/core/Account.d.ts.map +1 -1
  12. package/dist/core/Account.js +1 -13
  13. package/dist/core/Account.js.map +1 -1
  14. package/dist/core/Adapter.d.ts +10 -2
  15. package/dist/core/Adapter.d.ts.map +1 -1
  16. package/dist/core/Provider.d.ts +4 -5
  17. package/dist/core/Provider.d.ts.map +1 -1
  18. package/dist/core/Provider.js +66 -76
  19. package/dist/core/Provider.js.map +1 -1
  20. package/dist/core/Schema.d.ts +7 -7
  21. package/dist/core/adapters/dialog.d.ts.map +1 -1
  22. package/dist/core/adapters/dialog.js +114 -124
  23. package/dist/core/adapters/dialog.js.map +1 -1
  24. package/dist/core/adapters/local.d.ts.map +1 -1
  25. package/dist/core/adapters/local.js +92 -105
  26. package/dist/core/adapters/local.js.map +1 -1
  27. package/dist/core/adapters/privy.d.ts +164 -0
  28. package/dist/core/adapters/privy.d.ts.map +1 -0
  29. package/dist/core/adapters/privy.js +574 -0
  30. package/dist/core/adapters/privy.js.map +1 -0
  31. package/dist/core/adapters/turnkey.d.ts.map +1 -1
  32. package/dist/core/adapters/turnkey.js +136 -133
  33. package/dist/core/adapters/turnkey.js.map +1 -1
  34. package/dist/core/internal/AccessKeyTransaction.d.ts +59 -0
  35. package/dist/core/internal/AccessKeyTransaction.d.ts.map +1 -0
  36. package/dist/core/internal/AccessKeyTransaction.js +155 -0
  37. package/dist/core/internal/AccessKeyTransaction.js.map +1 -0
  38. package/dist/core/zod/rpc.d.ts +9 -4
  39. package/dist/core/zod/rpc.d.ts.map +1 -1
  40. package/dist/core/zod/rpc.js +9 -4
  41. package/dist/core/zod/rpc.js.map +1 -1
  42. package/dist/index.d.ts +1 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +1 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/react-native/adapter.d.ts.map +1 -1
  47. package/dist/react-native/adapter.js +61 -72
  48. package/dist/react-native/adapter.js.map +1 -1
  49. package/dist/server/Kv.d.ts +19 -9
  50. package/dist/server/Kv.d.ts.map +1 -1
  51. package/dist/server/Kv.js +32 -9
  52. package/dist/server/Kv.js.map +1 -1
  53. package/dist/server/internal/handlers/auth.d.ts.map +1 -1
  54. package/dist/server/internal/handlers/auth.js +2 -0
  55. package/dist/server/internal/handlers/auth.js.map +1 -1
  56. package/dist/server/internal/handlers/relay.d.ts +18 -12
  57. package/dist/server/internal/handlers/relay.d.ts.map +1 -1
  58. package/dist/server/internal/handlers/relay.js +115 -2
  59. package/dist/server/internal/handlers/relay.js.map +1 -1
  60. package/dist/server/internal/handlers/webAuthn.d.ts +6 -1
  61. package/dist/server/internal/handlers/webAuthn.d.ts.map +1 -1
  62. package/dist/server/internal/handlers/webAuthn.js +16 -9
  63. package/dist/server/internal/handlers/webAuthn.js.map +1 -1
  64. package/package.json +2 -2
  65. package/src/cli/adapter.ts +69 -74
  66. package/src/core/AccessKey.test.ts +525 -559
  67. package/src/core/AccessKey.ts +323 -327
  68. package/src/core/Account.test.ts +5 -50
  69. package/src/core/Account.ts +1 -19
  70. package/src/core/Adapter.ts +6 -2
  71. package/src/core/{Provider.test.ts → Provider.localnet.test.ts} +97 -31
  72. package/src/core/Provider.ts +110 -110
  73. package/src/core/Schema.test-d.ts +18 -0
  74. package/src/core/adapters/dialog.test.ts +137 -13
  75. package/src/core/adapters/dialog.ts +109 -121
  76. package/src/core/adapters/local.ts +95 -119
  77. package/src/core/adapters/privy.test-d.ts +128 -0
  78. package/src/core/adapters/privy.test.ts +634 -0
  79. package/src/core/adapters/privy.ts +805 -0
  80. package/src/core/adapters/turnkey.test.ts +117 -13
  81. package/src/core/adapters/turnkey.ts +132 -149
  82. package/src/core/internal/AccessKeyTransaction.ts +243 -0
  83. package/src/core/{mppx.test.ts → mppx.localnet.test.ts} +32 -2
  84. package/src/core/zod/request.test.ts +36 -0
  85. package/src/core/zod/rpc.ts +17 -10
  86. package/src/index.ts +1 -1
  87. package/src/react-native/adapter.ts +77 -84
  88. package/src/server/Kv.test.ts +51 -0
  89. package/src/server/Kv.ts +43 -9
  90. package/src/server/internal/handlers/auth.test.ts +10 -5
  91. package/src/server/internal/handlers/auth.ts +3 -0
  92. package/src/server/internal/handlers/{relay.test.ts → relay.localnet.test.ts} +3 -0
  93. package/src/server/internal/handlers/relay.ts +138 -13
  94. package/src/server/internal/handlers/session.test.ts +1 -1
  95. package/src/server/internal/handlers/webAuthn.test.ts +20 -0
  96. package/src/server/internal/handlers/webAuthn.ts +24 -12
  97. /package/src/cli/{Provider.test.ts → Provider.localnet.test.ts} +0 -0
  98. /package/src/react-native/{Provider.test.ts → Provider.localnet.test.ts} +0 -0
  99. /package/src/server/internal/handlers/{exchange.test.ts → exchange.localnet.test.ts} +0 -0
@@ -1,10 +1,10 @@
1
1
  import { Address as core_Address, Bytes, Hex, Provider as ox_Provider, PublicKey, RpcResponse, Secp256k1, } from 'ox';
2
- import { KeyAuthorization } from 'ox/tempo';
3
2
  import { hashMessage, hashTypedData, isAddressEqual } from 'viem';
4
3
  import { prepareTransactionRequest } from 'viem/actions';
5
- import { Account as TempoAccount } from 'viem/tempo';
4
+ import { Account as TempoAccount, Actions } from 'viem/tempo';
6
5
  import * as AccessKey from '../AccessKey.js';
7
6
  import * as Adapter from '../Adapter.js';
7
+ import * as AccessKeyTransaction from '../internal/AccessKeyTransaction.js';
8
8
  import * as Store from '../Store.js';
9
9
  const turnkeySessionErrorCodes = new Set([
10
10
  'API_KEY_EXPIRED',
@@ -55,11 +55,11 @@ const turnkeySessionErrorCodes = new Set([
55
55
  */
56
56
  export function turnkey(options) {
57
57
  const { icon, name = 'Turnkey', rdns = 'com.turnkey', sessionSkewMs = 10_000 } = options;
58
- return Adapter.define({ icon, name, rdns }, ({ getAccount, getClient, store }) => {
58
+ return Adapter.define({ icon, name, rdns }, ({ getClient, store }) => {
59
59
  let turnkeyClient_promise;
60
60
  let expiry_timeout;
61
61
  let restore_promise;
62
- let walletAccounts = [];
62
+ let walletAccounts_cache;
63
63
  async function getTurnkeyClient() {
64
64
  turnkeyClient_promise ??= (async () => {
65
65
  const { client } = options;
@@ -108,6 +108,14 @@ export function turnkey(options) {
108
108
  const turnkeyClient = await getTurnkeyClient();
109
109
  return (await turnkeyClient.fetchWallets()).flatMap((wallet) => wallet.accounts.filter((account) => account.addressFormat === 'ADDRESS_FORMAT_ETHEREUM'));
110
110
  }
111
+ async function refreshWalletAccounts() {
112
+ walletAccounts_cache = await fetchWalletAccounts();
113
+ return walletAccounts_cache;
114
+ }
115
+ async function getWalletAccounts() {
116
+ walletAccounts_cache ??= await fetchWalletAccounts();
117
+ return walletAccounts_cache;
118
+ }
111
119
  function selectWalletAccounts(accounts, addresses) {
112
120
  if (!addresses)
113
121
  return accounts;
@@ -126,7 +134,7 @@ export function turnkey(options) {
126
134
  clearTimeout(expiry_timeout);
127
135
  expiry_timeout = undefined;
128
136
  restore_promise = undefined;
129
- walletAccounts = [];
137
+ walletAccounts_cache = undefined;
130
138
  store.setState({ accessKeys: [], accounts: [], activeAccount: 0 });
131
139
  }
132
140
  function scheduleExpiry(session) {
@@ -148,7 +156,7 @@ export function turnkey(options) {
148
156
  }
149
157
  async function restore() {
150
158
  await Store.waitForHydration(store);
151
- if (walletAccounts.length > 0)
159
+ if (walletAccounts_cache)
152
160
  return;
153
161
  if (restore_promise)
154
162
  return await restore_promise;
@@ -160,16 +168,7 @@ export function turnkey(options) {
160
168
  const session = await getValidSession();
161
169
  if (!session)
162
170
  return;
163
- const restored = await fetchWalletAccounts();
164
- walletAccounts = persisted
165
- .map((account) => restored.find((walletAccount) => isAddressEqual(core_Address.from(walletAccount.address), account.address)))
166
- .filter((account) => !!account);
167
- if (walletAccounts.length === 0)
168
- return;
169
- store.setState({
170
- accounts: walletAccounts.map((account) => toStoreAccount(account)),
171
- activeAccount: Math.min(state.activeAccount, walletAccounts.length - 1),
172
- });
171
+ await refreshWalletAccounts();
173
172
  })();
174
173
  try {
175
174
  await restore_promise;
@@ -183,20 +182,27 @@ export function turnkey(options) {
183
182
  if (!session)
184
183
  throw new ox_Provider.DisconnectedError({ message: 'Turnkey session expired.' });
185
184
  }
186
- async function accountForSigning(address) {
185
+ async function getTurnkeyAccount(address) {
187
186
  await restore();
188
187
  await requireSession();
189
- const address_ = address ?? store.getState().accounts[store.getState().activeAccount]?.address;
188
+ const state = store.getState();
189
+ const address_ = address ?? state.accounts[state.activeAccount]?.address;
190
190
  if (!address_)
191
- throw new ox_Provider.DisconnectedError({ message: 'No accounts connected.' });
192
- const account = walletAccounts.find((account) => isAddressEqual(core_Address.from(account.address), address_));
193
- if (account)
194
- return account;
195
- if (walletAccounts.length === 0)
191
+ throw new ox_Provider.DisconnectedError({ message: 'No active account.' });
192
+ if (state.accounts.length === 0)
196
193
  throw new ox_Provider.DisconnectedError({
197
194
  message: 'No Turnkey account connected.',
198
195
  });
199
- throw new ox_Provider.UnauthorizedError({ message: `Account "${address_}" not found.` });
196
+ const connected = state.accounts.some((account) => isAddressEqual(account.address, address_));
197
+ if (!connected)
198
+ throw new ox_Provider.UnauthorizedError({ message: `Account "${address_}" not found.` });
199
+ const find = (accounts) => accounts.find((account) => isAddressEqual(core_Address.from(account.address), address_));
200
+ const account = find(await getWalletAccounts());
201
+ if (account)
202
+ return toTempoAccount(account);
203
+ throw new RpcResponse.InternalError({
204
+ message: `Connected Turnkey account "${address_}" was not found in fetched Turnkey wallet accounts. Reconnect with Turnkey.`,
205
+ });
200
206
  }
201
207
  function signatureToHex(value) {
202
208
  const v = value.v.startsWith('0x') ? value.v : Hex.fromNumber(Number(value.v));
@@ -219,29 +225,8 @@ export function turnkey(options) {
219
225
  });
220
226
  return signatureToHex(result);
221
227
  }
222
- async function withAccessKey(options, fn) {
223
- const account = (() => {
224
- try {
225
- return getAccount({ ...options, signable: true });
226
- }
227
- catch {
228
- return undefined;
229
- }
230
- })();
231
- if (!account || account.source !== 'accessKey')
232
- return undefined;
233
- const keyAuthorization = AccessKey.getPending(account, { store });
234
- try {
235
- const result = await fn(account, keyAuthorization ?? undefined);
236
- return { account, result };
237
- }
238
- catch (error) {
239
- AccessKey.invalidate(account, error, { store });
240
- return undefined;
241
- }
242
- }
243
228
  async function signTransaction(parameters) {
244
- const account = toTempoAccount(await accountForSigning(parameters.from));
229
+ const account = await getTurnkeyAccount(parameters.from);
245
230
  const { feePayer, ...rest } = parameters;
246
231
  const viemClient = getClient({
247
232
  chainId: parameters.chainId,
@@ -300,10 +285,10 @@ export function turnkey(options) {
300
285
  },
301
286
  });
302
287
  await requireSession();
303
- walletAccounts = selectWalletAccounts(await fetchWalletAccounts(), addresses);
288
+ const accounts = selectWalletAccounts(await refreshWalletAccounts(), addresses);
304
289
  restore_promise = undefined;
305
290
  const digest = personalSign ? hashMessage(personalSign.message) : parameters.digest;
306
- const account = walletAccounts[0];
291
+ const account = accounts[0];
307
292
  const keyAuthorization = authorizeAccessKey
308
293
  ? account
309
294
  ? await AccessKey.authorize({
@@ -315,7 +300,7 @@ export function turnkey(options) {
315
300
  : undefined
316
301
  : undefined;
317
302
  return {
318
- accounts: walletAccounts.map((account, index) => toStoreAccount(account, index === 0 ? parameters.name : undefined)),
303
+ accounts: accounts.map((account, index) => toStoreAccount(account, index === 0 ? parameters.name : undefined)),
319
304
  ...(personalSign ? { personalSign: { message: personalSign.message } } : {}),
320
305
  ...(keyAuthorization ? { keyAuthorization } : {}),
321
306
  signature: digest && account
@@ -334,10 +319,10 @@ export function turnkey(options) {
334
319
  const turnkeyClient = await getTurnkeyClient();
335
320
  const addresses = await options.loadAccounts({ client: turnkeyClient, parameters });
336
321
  await requireSession();
337
- walletAccounts = selectWalletAccounts(await fetchWalletAccounts(), addresses);
322
+ const accounts = selectWalletAccounts(await refreshWalletAccounts(), addresses);
338
323
  restore_promise = undefined;
339
324
  const digest = personalSign ? hashMessage(personalSign.message) : parameters?.digest;
340
- const account = walletAccounts[0];
325
+ const account = accounts[0];
341
326
  const keyAuthorization = authorizeAccessKey && account
342
327
  ? await AccessKey.authorize({
343
328
  account: toTempoAccount(account),
@@ -347,7 +332,7 @@ export function turnkey(options) {
347
332
  })
348
333
  : undefined;
349
334
  return {
350
- accounts: walletAccounts.map((account) => toStoreAccount(account)),
335
+ accounts: accounts.map((account) => toStoreAccount(account)),
351
336
  ...(personalSign ? { personalSign: { message: personalSign.message } } : {}),
352
337
  ...(keyAuthorization ? { keyAuthorization } : {}),
353
338
  signature: digest && account
@@ -360,117 +345,135 @@ export function turnkey(options) {
360
345
  };
361
346
  },
362
347
  async authorizeAccessKey(parameters) {
363
- const account = await accountForSigning(undefined);
348
+ const account = await getTurnkeyAccount(undefined);
364
349
  const keyAuthorization = await AccessKey.authorize({
365
- account: toTempoAccount(account),
350
+ account,
366
351
  chainId: getClient().chain.id,
367
352
  parameters,
368
353
  store,
369
354
  });
370
- return { keyAuthorization, rootAddress: core_Address.from(account.address) };
355
+ return { keyAuthorization, rootAddress: account.address };
356
+ },
357
+ async revokeAccessKey(parameters) {
358
+ const account = await getTurnkeyAccount(parameters.address);
359
+ try {
360
+ await Actions.accessKey.revoke(getClient(), {
361
+ account,
362
+ accessKey: parameters.accessKeyAddress,
363
+ });
364
+ }
365
+ catch (error) {
366
+ if (!AccessKey.isUnavailableError(error))
367
+ throw error;
368
+ }
369
+ AccessKey.remove({
370
+ accessKey: parameters.accessKeyAddress,
371
+ account: account.address,
372
+ chainId: store.getState().chainId,
373
+ store,
374
+ });
371
375
  },
372
376
  async signPersonalMessage(parameters) {
373
- const turnkeyClient = await getTurnkeyClient();
374
- const account = await accountForSigning(parameters.address);
375
- return await signPayload({
376
- payload: hashMessage({ raw: parameters.data }),
377
- turnkeyClient,
378
- walletAccount: account,
377
+ return await (await getTurnkeyAccount(parameters.address)).sign({
378
+ hash: hashMessage({ raw: parameters.data }),
379
379
  });
380
380
  },
381
381
  async signTransaction(parameters) {
382
- const result = await withAccessKey({ address: parameters.from, calls: parameters.calls, chainId: parameters.chainId }, async (account, keyAuthorization) => {
383
- const { feePayer, ...rest } = parameters;
384
- const viemClient = getClient({
385
- chainId: parameters.chainId,
386
- feePayer: feePayer === true ? undefined : feePayer,
387
- });
388
- const prepared = await prepareTransactionRequest(viemClient, {
389
- account,
390
- ...rest,
391
- ...(feePayer ? { feePayer: true } : {}),
392
- keyAuthorization,
393
- type: 'tempo',
394
- });
395
- return await account.signTransaction(prepared);
382
+ const { feePayer, ...rest } = parameters;
383
+ const viemClient = getClient({
384
+ chainId: parameters.chainId,
385
+ feePayer: feePayer === true ? undefined : feePayer,
396
386
  });
397
- if (result !== undefined)
398
- return result.result;
387
+ const state = store.getState();
388
+ const address = parameters.from ?? state.accounts[state.activeAccount]?.address;
389
+ const transaction = address
390
+ ? await AccessKeyTransaction.create({
391
+ address,
392
+ calls: parameters.calls,
393
+ chainId: parameters.chainId ?? state.chainId,
394
+ client: viemClient,
395
+ store,
396
+ })
397
+ : undefined;
398
+ if (transaction) {
399
+ try {
400
+ const prepared = await transaction.prepare({
401
+ ...rest,
402
+ ...(feePayer ? { feePayer: true } : {}),
403
+ });
404
+ return await prepared.sign();
405
+ }
406
+ catch { }
407
+ }
399
408
  return await signTransaction(parameters);
400
409
  },
401
410
  async signTypedData(parameters) {
402
- const turnkeyClient = await getTurnkeyClient();
403
- const account = await accountForSigning(parameters.address);
404
411
  const typedData = JSON.parse(parameters.data);
405
- return await signPayload({
406
- payload: hashTypedData(typedData),
407
- turnkeyClient,
408
- walletAccount: account,
412
+ return await (await getTurnkeyAccount(parameters.address)).sign({
413
+ hash: hashTypedData(typedData),
409
414
  });
410
415
  },
411
416
  async sendTransaction(parameters) {
412
- const result = await withAccessKey({ address: parameters.from, calls: parameters.calls, chainId: parameters.chainId }, async (account, keyAuthorization) => {
413
- const { feePayer, ...rest } = parameters;
414
- const viemClient = getClient({
415
- chainId: parameters.chainId,
416
- feePayer: feePayer === true ? undefined : feePayer,
417
- });
418
- const prepared = await prepareTransactionRequest(viemClient, {
419
- account,
420
- ...rest,
421
- ...(feePayer ? { feePayer: true } : {}),
422
- keyAuthorization,
423
- type: 'tempo',
424
- });
425
- const signed = await account.signTransaction(prepared);
426
- return await viemClient.request({
427
- method: 'eth_sendRawTransaction',
428
- params: [signed],
429
- });
430
- });
431
- if (result !== undefined) {
432
- AccessKey.removePending(result.account, { store });
433
- return result.result;
434
- }
435
- const signed = await signTransaction(parameters);
417
+ const { feePayer, ...rest } = parameters;
436
418
  const viemClient = getClient({
437
419
  chainId: parameters.chainId,
438
- feePayer: parameters.feePayer === true ? undefined : parameters.feePayer,
420
+ feePayer: feePayer === true ? undefined : feePayer,
439
421
  });
422
+ const state = store.getState();
423
+ const address = parameters.from ?? state.accounts[state.activeAccount]?.address;
424
+ const transaction = address
425
+ ? await AccessKeyTransaction.create({
426
+ address,
427
+ calls: parameters.calls,
428
+ chainId: parameters.chainId ?? state.chainId,
429
+ client: viemClient,
430
+ store,
431
+ })
432
+ : undefined;
433
+ if (transaction) {
434
+ try {
435
+ const prepared = await transaction.prepare({
436
+ ...rest,
437
+ ...(feePayer ? { feePayer: true } : {}),
438
+ });
439
+ return await prepared.send();
440
+ }
441
+ catch { }
442
+ }
443
+ const signed = await signTransaction(parameters);
440
444
  return await viemClient.request({
441
445
  method: 'eth_sendRawTransaction',
442
446
  params: [signed],
443
447
  });
444
448
  },
445
449
  async sendTransactionSync(parameters) {
446
- const result = await withAccessKey({ address: parameters.from, calls: parameters.calls, chainId: parameters.chainId }, async (account, keyAuthorization) => {
447
- const { feePayer, ...rest } = parameters;
448
- const viemClient = getClient({
449
- chainId: parameters.chainId,
450
- feePayer: feePayer === true ? undefined : feePayer,
451
- });
452
- const prepared = await prepareTransactionRequest(viemClient, {
453
- account,
454
- ...rest,
455
- ...(feePayer ? { feePayer: true } : {}),
456
- keyAuthorization,
457
- type: 'tempo',
458
- });
459
- const signed = await account.signTransaction(prepared);
460
- return await viemClient.request({
461
- method: 'eth_sendRawTransactionSync',
462
- params: [signed],
463
- });
464
- });
465
- if (result !== undefined) {
466
- AccessKey.removePending(result.account, { store });
467
- return result.result;
468
- }
469
- const signed = await signTransaction(parameters);
450
+ const { feePayer, ...rest } = parameters;
470
451
  const viemClient = getClient({
471
452
  chainId: parameters.chainId,
472
- feePayer: parameters.feePayer === true ? undefined : parameters.feePayer,
453
+ feePayer: feePayer === true ? undefined : feePayer,
473
454
  });
455
+ const state = store.getState();
456
+ const address = parameters.from ?? state.accounts[state.activeAccount]?.address;
457
+ const transaction = address
458
+ ? await AccessKeyTransaction.create({
459
+ address,
460
+ calls: parameters.calls,
461
+ chainId: parameters.chainId ?? state.chainId,
462
+ client: viemClient,
463
+ store,
464
+ })
465
+ : undefined;
466
+ if (transaction) {
467
+ try {
468
+ const prepared = await transaction.prepare({
469
+ ...rest,
470
+ ...(feePayer ? { feePayer: true } : {}),
471
+ });
472
+ return await prepared.sendSync();
473
+ }
474
+ catch { }
475
+ }
476
+ const signed = await signTransaction(parameters);
474
477
  return await viemClient.request({
475
478
  method: 'eth_sendRawTransactionSync',
476
479
  params: [signed],
@@ -1 +1 @@
1
- {"version":3,"file":"turnkey.js","sourceRoot":"","sources":["../../../src/core/adapters/turnkey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turnkey.js","sourceRoot":"","sources":["../../../src/core/adapters/turnkey.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { Address, Hex } from 'ox';
2
+ import type { Client, Transport } from 'viem';
3
+ import type { PrepareTransactionRequestReturnType } from 'viem/actions';
4
+ import type { Transaction as TempoTransaction } from 'viem/tempo';
5
+ import type * as Store from '../Store.js';
6
+ import type * as Rpc from '../zod/rpc.js';
7
+ type Call = {
8
+ to?: Address.Address | undefined;
9
+ data?: Hex.Hex | undefined;
10
+ };
11
+ /** Creates a lifecycle-aware access-key transaction when a matching key is available. */
12
+ export declare function create(options: create.Options): Promise<create.ReturnType>;
13
+ export declare namespace create {
14
+ /** Options for {@link create}. */
15
+ type Options = {
16
+ /** Root account address. */
17
+ address: Address.Address;
18
+ /** Calls to match against access key scopes. */
19
+ calls?: readonly Call[] | undefined;
20
+ /** Chain ID the access key must be authorized on. */
21
+ chainId: number;
22
+ /** Client used to prepare, submit, and check access-key transactions. */
23
+ client: Client<Transport>;
24
+ /** Reactive state store. */
25
+ store: Store.Store;
26
+ };
27
+ /** Parameters accepted when preparing an access-key transaction. */
28
+ type PrepareParameters = Omit<TempoTransaction.TransactionRequestTempo, 'account' | 'keyAuthorization' | 'type'>;
29
+ /** Prepared transaction request returned by viem. */
30
+ type PreparedRequest = PrepareTransactionRequestReturnType;
31
+ /** Parameters accepted by `eth_fillTransaction`. */
32
+ type FillParameters = Rpc.eth_fillTransaction.Decoded['params'][0];
33
+ /** Result returned by `eth_fillTransaction`. */
34
+ type FillReturnType = Rpc.eth_fillTransaction.Encoded['returns'];
35
+ /** Result returned by `eth_sendTransactionSync`. */
36
+ type SendSyncReturnType = Rpc.eth_sendTransactionSync.Encoded['returns'];
37
+ /** Prepared access-key transaction with lifecycle-aware execution methods. */
38
+ type Prepared = {
39
+ /** Prepared request that will be signed by the selected access key. */
40
+ request: PreparedRequest;
41
+ /** Signs the prepared transaction and marks an attached authorization as pending. */
42
+ sign(): Promise<Hex.Hex>;
43
+ /** Signs and submits the transaction asynchronously. */
44
+ send(): Promise<Hex.Hex>;
45
+ /** Signs, submits, and waits for the transaction to be accepted. */
46
+ sendSync(): Promise<SendSyncReturnType>;
47
+ };
48
+ /** Lifecycle-aware access-key transaction. */
49
+ type Transaction = {
50
+ /** Fills a transaction, attaching a pending key authorization when needed. */
51
+ fill(parameters: FillParameters): Promise<FillReturnType>;
52
+ /** Prepares a transaction, attaching a pending key authorization when needed. */
53
+ prepare(parameters: PrepareParameters): Promise<Prepared>;
54
+ };
55
+ /** Lifecycle-aware access-key transaction, if one is available. */
56
+ type ReturnType = Transaction | undefined;
57
+ }
58
+ export {};
59
+ //# sourceMappingURL=AccessKeyTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessKeyTransaction.d.ts","sourceRoot":"","sources":["../../../src/core/internal/AccessKeyTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAEjC,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAE7C,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,cAAc,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAIjE,OAAO,KAAK,KAAK,KAAK,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAA;AAEzC,KAAK,IAAI,GAAG;IACV,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;IAChC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAA;CAC3B,CAAA;AAcD,yFAAyF;AACzF,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAWhF;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,kCAAkC;IAClC,KAAK,OAAO,GAAG;QACb,4BAA4B;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;QACxB,gDAAgD;QAChD,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,CAAA;QACnC,qDAAqD;QACrD,OAAO,EAAE,MAAM,CAAA;QACf,yEAAyE;QACzE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QACzB,4BAA4B;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAA;KACnB,CAAA;IAED,oEAAoE;IACpE,KAAK,iBAAiB,GAAG,IAAI,CAC3B,gBAAgB,CAAC,uBAAuB,EACxC,SAAS,GAAG,kBAAkB,GAAG,MAAM,CACxC,CAAA;IAED,qDAAqD;IACrD,KAAK,eAAe,GAAG,mCAAmC,CAAA;IAE1D,oDAAoD;IACpD,KAAK,cAAc,GAAG,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAElE,gDAAgD;IAChD,KAAK,cAAc,GAAG,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAEhE,oDAAoD;IACpD,KAAK,kBAAkB,GAAG,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAExE,8EAA8E;IAC9E,KAAK,QAAQ,GAAG;QACd,uEAAuE;QACvE,OAAO,EAAE,eAAe,CAAA;QACxB,qFAAqF;QACrF,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,wDAAwD;QACxD,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxB,oEAAoE;QACpE,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAA;KACxC,CAAA;IAED,8CAA8C;IAC9C,KAAK,WAAW,GAAG;QACjB,8EAA8E;QAC9E,IAAI,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;QACzD,iFAAiF;QACjF,OAAO,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;KAC1D,CAAA;IAED,mEAAmE;IACnE,KAAK,UAAU,GAAG,WAAW,GAAG,SAAS,CAAA;CAC1C"}