@crossmint/wallets-sdk 1.0.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 (81) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -0
  3. package/dist/api/client.cjs +1 -0
  4. package/dist/api/client.d.cts +49 -0
  5. package/dist/api/client.d.ts +49 -0
  6. package/dist/api/client.js +1 -0
  7. package/dist/api/gen/client.gen.cjs +1 -0
  8. package/dist/api/gen/client.gen.d.cts +16 -0
  9. package/dist/api/gen/client.gen.d.ts +16 -0
  10. package/dist/api/gen/client.gen.js +1 -0
  11. package/dist/api/gen/index.cjs +1 -0
  12. package/dist/api/gen/index.d.cts +3 -0
  13. package/dist/api/gen/index.d.ts +3 -0
  14. package/dist/api/gen/index.js +1 -0
  15. package/dist/api/gen/sdk.gen.cjs +1 -0
  16. package/dist/api/gen/sdk.gen.d.cts +181 -0
  17. package/dist/api/gen/sdk.gen.d.ts +181 -0
  18. package/dist/api/gen/sdk.gen.js +1 -0
  19. package/dist/api/gen/types.gen.cjs +1 -0
  20. package/dist/api/gen/types.gen.d.cts +3755 -0
  21. package/dist/api/gen/types.gen.d.ts +3755 -0
  22. package/dist/api/gen/types.gen.js +1 -0
  23. package/dist/api/index.cjs +1 -0
  24. package/dist/api/index.d.cts +3 -0
  25. package/dist/api/index.d.ts +3 -0
  26. package/dist/api/index.js +1 -0
  27. package/dist/chunk-22GIA4MK.js +1 -0
  28. package/dist/chunk-3ENSZP74.cjs +1 -0
  29. package/dist/chunk-5M7IRODB.js +1 -0
  30. package/dist/chunk-6TDMYZSP.js +1 -0
  31. package/dist/chunk-A7F5DWC7.js +0 -0
  32. package/dist/chunk-APYZEG33.js +1 -0
  33. package/dist/chunk-CK4JCQY6.cjs +1 -0
  34. package/dist/chunk-DBOB7H6W.cjs +1 -0
  35. package/dist/chunk-EY4BQMWT.js +1 -0
  36. package/dist/chunk-ICE64YWF.js +1 -0
  37. package/dist/chunk-MSK53SDP.js +1 -0
  38. package/dist/chunk-O5UBTDCJ.cjs +1 -0
  39. package/dist/chunk-OOKBOMFJ.cjs +1 -0
  40. package/dist/chunk-RUIBT3JV.cjs +1 -0
  41. package/dist/chunk-STYSP6KL.cjs +1 -0
  42. package/dist/chunk-U2WTEWN7.cjs +1 -0
  43. package/dist/chunk-WVCL7F3L.js +1 -0
  44. package/dist/chunk-XPMCPXI3.cjs +1 -0
  45. package/dist/chunk-YMRXMNME.js +0 -0
  46. package/dist/chunk-Z4FSGH26.js +1 -0
  47. package/dist/chunk-Z4XNQ4N5.cjs +1 -0
  48. package/dist/chunk-Z6JFF3HR.cjs +1 -0
  49. package/dist/evm/chains.cjs +1 -0
  50. package/dist/evm/chains.d.cts +9 -0
  51. package/dist/evm/chains.d.ts +9 -0
  52. package/dist/evm/chains.js +1 -0
  53. package/dist/evm/index.cjs +1 -0
  54. package/dist/evm/index.d.cts +6 -0
  55. package/dist/evm/index.d.ts +6 -0
  56. package/dist/evm/index.js +1 -0
  57. package/dist/evm/wallet.cjs +1 -0
  58. package/dist/evm/wallet.d.cts +48 -0
  59. package/dist/evm/wallet.d.ts +48 -0
  60. package/dist/evm/wallet.js +1 -0
  61. package/dist/index.cjs +1 -0
  62. package/dist/index.d.cts +2 -0
  63. package/dist/index.d.ts +2 -0
  64. package/dist/index.js +1 -0
  65. package/dist/sdk.cjs +1 -0
  66. package/dist/sdk.d.cts +35 -0
  67. package/dist/sdk.d.ts +35 -0
  68. package/dist/sdk.js +1 -0
  69. package/dist/solana/index.cjs +1 -0
  70. package/dist/solana/index.d.cts +5 -0
  71. package/dist/solana/index.d.ts +5 -0
  72. package/dist/solana/index.js +1 -0
  73. package/dist/solana/wallet.cjs +1 -0
  74. package/dist/solana/wallet.d.cts +33 -0
  75. package/dist/solana/wallet.d.ts +33 -0
  76. package/dist/solana/wallet.js +1 -0
  77. package/dist/utils/constants.cjs +1 -0
  78. package/dist/utils/constants.d.cts +5 -0
  79. package/dist/utils/constants.d.ts +5 -0
  80. package/dist/utils/constants.js +1 -0
  81. package/package.json +37 -0
@@ -0,0 +1,3755 @@
1
+ /**
2
+ * Input schema for creating a new signature. The parameters vary based on the signature type.
3
+ */
4
+ type CreateSignatureRequestDto = {
5
+ type: 'evm-message';
6
+ /**
7
+ * Parameters for an EVM signature
8
+ */
9
+ params: {
10
+ /**
11
+ * The message in plain text to sign
12
+ */
13
+ message: string;
14
+ /**
15
+ * The locator for the signer who will submit this signature. Defaults to the wallet's admin signer.
16
+ */
17
+ signer?: string;
18
+ /**
19
+ * The chain on which the signature will be submitted
20
+ */
21
+ chain: 'arbitrum-sepolia' | 'avalanche-fuji' | 'curtis' | 'barret-testnet' | 'base-goerli' | 'base-sepolia' | 'bsc-testnet' | 'chiliz-spicy-testnet' | 'ethereum-goerli' | 'ethereum-sepolia' | 'hypersonic-testnet' | 'lightlink-pegasus' | 'optimism-goerli' | 'optimism-sepolia' | 'polygon-amoy' | 'polygon-mumbai' | 'crossmint-private-testnet-ethereum' | 'crossmint-private-testnet-polygon' | 'rari-testnet' | 'scroll-sepolia' | 'sei-atlantic-2-testnet' | 'shape-sepolia' | 'skale-nebula-testnet' | 'soneium-minato-testnet' | 'space-testnet' | 'story-testnet' | 'verify-testnet' | 'viction-testnet' | 'xai-sepolia-testnet' | 'zkatana' | 'zkyoto' | 'zora-goerli' | 'zora-sepolia' | 'mode-sepolia' | 'zenchain-testnet' | 'ethereum' | 'polygon' | 'bsc' | 'optimism' | 'arbitrum' | 'base' | 'zora' | 'arbitrumnova' | 'astar-zkevm' | 'apechain' | 'apex' | 'boss' | 'lightlink' | 'skale-nebula' | 'sei-pacific-1' | 'chiliz' | 'avalanche' | 'xai' | 'shape' | 'rari' | 'scroll' | 'viction' | 'mode' | 'space' | 'soneium';
22
+ };
23
+ } | {
24
+ type: 'solana-message';
25
+ /**
26
+ * Parameters for a Solana signature
27
+ */
28
+ params: {
29
+ /**
30
+ * The message in plain text to sign
31
+ */
32
+ message: string;
33
+ };
34
+ } | {
35
+ type: 'evm-typed-data';
36
+ /**
37
+ * Parameters for an EVM typed data signature
38
+ */
39
+ params: {
40
+ typedData: {
41
+ domain: {
42
+ name: string;
43
+ version: string;
44
+ chainId: number;
45
+ /**
46
+ * An EVM address string
47
+ */
48
+ verifyingContract: string;
49
+ salt?: string;
50
+ };
51
+ types: {
52
+ [key: string]: Array<{
53
+ name: string;
54
+ type: string;
55
+ }>;
56
+ };
57
+ primaryType: string;
58
+ message: {};
59
+ };
60
+ /**
61
+ * The chain on which the signature will be submitted
62
+ */
63
+ chain: 'arbitrum-sepolia' | 'avalanche-fuji' | 'curtis' | 'barret-testnet' | 'base-goerli' | 'base-sepolia' | 'bsc-testnet' | 'chiliz-spicy-testnet' | 'ethereum-goerli' | 'ethereum-sepolia' | 'hypersonic-testnet' | 'lightlink-pegasus' | 'optimism-goerli' | 'optimism-sepolia' | 'polygon-amoy' | 'polygon-mumbai' | 'crossmint-private-testnet-ethereum' | 'crossmint-private-testnet-polygon' | 'rari-testnet' | 'scroll-sepolia' | 'sei-atlantic-2-testnet' | 'shape-sepolia' | 'skale-nebula-testnet' | 'soneium-minato-testnet' | 'space-testnet' | 'story-testnet' | 'verify-testnet' | 'viction-testnet' | 'xai-sepolia-testnet' | 'zkatana' | 'zkyoto' | 'zora-goerli' | 'zora-sepolia' | 'mode-sepolia' | 'zenchain-testnet' | 'ethereum' | 'polygon' | 'bsc' | 'optimism' | 'arbitrum' | 'base' | 'zora' | 'arbitrumnova' | 'astar-zkevm' | 'apechain' | 'apex' | 'boss' | 'lightlink' | 'skale-nebula' | 'sei-pacific-1' | 'chiliz' | 'avalanche' | 'xai' | 'shape' | 'rari' | 'scroll' | 'viction' | 'mode' | 'space' | 'soneium';
64
+ /**
65
+ * The locator for the signer who will approve this signature
66
+ */
67
+ signer?: string;
68
+ /**
69
+ * Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492.
70
+ */
71
+ isSmartWalletSignature?: boolean;
72
+ };
73
+ };
74
+ type CreateSignerInputDto = {
75
+ /**
76
+ * The locator of the delegated signer
77
+ */
78
+ signer: string;
79
+ /**
80
+ * The chain where the signer will be registered
81
+ */
82
+ chain: 'base' | 'polygon' | 'optimism' | 'arbitrum' | 'mode' | 'base-sepolia' | 'polygon-amoy' | 'optimism-sepolia' | 'arbitrum-sepolia' | 'mode-sepolia' | 'story-testnet';
83
+ /**
84
+ * The expiry date of the signer in milliseconds since UNIX epoch
85
+ */
86
+ expiresAt?: number;
87
+ /**
88
+ * The permissions of the signer following ERC-7715
89
+ */
90
+ permissions?: Array<{
91
+ type: 'native-token-transfer';
92
+ data: {
93
+ allowance: string;
94
+ };
95
+ } | {
96
+ type: 'erc20-token-transfer';
97
+ data: {
98
+ /**
99
+ * The address of the smart contract that can be interacted with
100
+ */
101
+ address: string;
102
+ allowance: string;
103
+ };
104
+ } | {
105
+ type: 'erc721-token-transfer';
106
+ data: {
107
+ /**
108
+ * The address of the smart contract that can be interacted with
109
+ */
110
+ address: string;
111
+ /**
112
+ * The token IDs that can be transferred
113
+ */
114
+ tokenIds: Array<string>;
115
+ };
116
+ } | {
117
+ type: 'erc1155-token-transfer';
118
+ data: {
119
+ /**
120
+ * The address of the smart contract that can be interacted with
121
+ */
122
+ address: string;
123
+ /**
124
+ * The token IDs and allowances that can be transferred
125
+ */
126
+ allowances: {
127
+ [key: string]: string;
128
+ };
129
+ };
130
+ } | {
131
+ type: 'gas-limit';
132
+ data: {
133
+ limit: string;
134
+ enforcePaymaster?: boolean;
135
+ allowedPaymaster?: string;
136
+ };
137
+ } | {
138
+ type: 'call-limit';
139
+ data: {
140
+ count: number;
141
+ };
142
+ } | {
143
+ type: 'rate-limit';
144
+ data: {
145
+ count: number;
146
+ /**
147
+ * Time window in seconds
148
+ */
149
+ interval: number;
150
+ };
151
+ }>;
152
+ } | {
153
+ /**
154
+ * The locator of the delegated signer
155
+ */
156
+ signer: string;
157
+ };
158
+ /**
159
+ * Input schema for creating a new transaction. The parameters vary based on the wallet type (EVM vs Solana).
160
+ */
161
+ type CreateTransactionDto = {
162
+ /**
163
+ * Wallet type specific transaction parameters
164
+ */
165
+ params: {
166
+ /**
167
+ * Transaction data to execute
168
+ */
169
+ calls: Array<{
170
+ /**
171
+ * The recipient address for this transaction call
172
+ */
173
+ address: string;
174
+ /**
175
+ * The name of the function to call
176
+ */
177
+ functionName: string;
178
+ /**
179
+ * The ABI for the function to call
180
+ */
181
+ abi: Array<{
182
+ type: 'error';
183
+ inputs: Array<unknown>;
184
+ name: string;
185
+ } | {
186
+ type: 'event';
187
+ anonymous?: boolean;
188
+ inputs: Array<unknown & {
189
+ indexed?: boolean;
190
+ }>;
191
+ name: string;
192
+ } | ({
193
+ constant?: boolean;
194
+ gas?: number;
195
+ payable?: boolean;
196
+ } & ({
197
+ type: 'function';
198
+ inputs: Array<unknown>;
199
+ name: string;
200
+ outputs: Array<unknown>;
201
+ stateMutability: 'pure' | 'view' | 'nonpayable' | 'payable';
202
+ } | {
203
+ type: 'constructor';
204
+ inputs: Array<unknown>;
205
+ stateMutability: 'payable' | 'nonpayable';
206
+ } | {
207
+ type: 'fallback';
208
+ inputs?: unknown;
209
+ stateMutability: 'payable' | 'nonpayable';
210
+ } | {
211
+ type: 'receive';
212
+ stateMutability: 'payable';
213
+ }))>;
214
+ /**
215
+ * The arguments to pass to the function
216
+ */
217
+ args: Array<unknown>;
218
+ /**
219
+ * The amount of native token to send in wei
220
+ */
221
+ value?: string;
222
+ } | {
223
+ /**
224
+ * The recipient address for this transaction call
225
+ */
226
+ to: string;
227
+ /**
228
+ * The amount of native token to send in wei
229
+ */
230
+ value: string;
231
+ /**
232
+ * The encoded calldata for this transaction
233
+ */
234
+ data: unknown;
235
+ }>;
236
+ /**
237
+ * The chain on which the transaction will be executed
238
+ */
239
+ chain: 'base' | 'polygon' | 'optimism' | 'arbitrum' | 'mode' | 'base-sepolia' | 'polygon-amoy' | 'optimism-sepolia' | 'arbitrum-sepolia' | 'mode-sepolia' | 'story-testnet';
240
+ /**
241
+ * The locator for the signer who will submit this transaction
242
+ */
243
+ signer?: string;
244
+ } | {
245
+ /**
246
+ * Base58 encoded serialized Solana transaction
247
+ */
248
+ transaction: string;
249
+ /**
250
+ * Optional array of additional signers required for the transaction
251
+ */
252
+ requiredSigners?: Array<string>;
253
+ } | {
254
+ /**
255
+ * The transaction call to execute
256
+ */
257
+ call: {
258
+ /**
259
+ * The recipient address for this transaction call
260
+ */
261
+ to: string;
262
+ /**
263
+ * The encoded calldata for this transaction
264
+ */
265
+ data: unknown;
266
+ } | {
267
+ /**
268
+ * The recipient address for this transaction call
269
+ */
270
+ address: string;
271
+ /**
272
+ * The name of the function to call
273
+ */
274
+ functionName: string;
275
+ /**
276
+ * The ABI for the function to call
277
+ */
278
+ abi: Array<{
279
+ type: 'error';
280
+ inputs: Array<unknown>;
281
+ name: string;
282
+ } | {
283
+ type: 'event';
284
+ anonymous?: boolean;
285
+ inputs: Array<unknown & {
286
+ indexed?: boolean;
287
+ }>;
288
+ name: string;
289
+ } | ({
290
+ constant?: boolean;
291
+ gas?: number;
292
+ payable?: boolean;
293
+ } & ({
294
+ type: 'function';
295
+ inputs: Array<unknown>;
296
+ name: string;
297
+ outputs: Array<unknown>;
298
+ stateMutability: 'pure' | 'view' | 'nonpayable' | 'payable';
299
+ } | {
300
+ type: 'constructor';
301
+ inputs: Array<unknown>;
302
+ stateMutability: 'payable' | 'nonpayable';
303
+ } | {
304
+ type: 'fallback';
305
+ inputs?: unknown;
306
+ stateMutability: 'payable' | 'nonpayable';
307
+ } | {
308
+ type: 'receive';
309
+ stateMutability: 'payable';
310
+ }))>;
311
+ /**
312
+ * The arguments to pass to the function
313
+ */
314
+ args: Array<unknown>;
315
+ };
316
+ /**
317
+ * The chain on which the transaction will be executed
318
+ */
319
+ chain: 'arbitrum-sepolia' | 'avalanche-fuji' | 'curtis' | 'barret-testnet' | 'base-goerli' | 'base-sepolia' | 'bsc-testnet' | 'chiliz-spicy-testnet' | 'ethereum-goerli' | 'ethereum-sepolia' | 'hypersonic-testnet' | 'lightlink-pegasus' | 'optimism-goerli' | 'optimism-sepolia' | 'polygon-amoy' | 'polygon-mumbai' | 'crossmint-private-testnet-ethereum' | 'crossmint-private-testnet-polygon' | 'rari-testnet' | 'scroll-sepolia' | 'sei-atlantic-2-testnet' | 'shape-sepolia' | 'skale-nebula-testnet' | 'soneium-minato-testnet' | 'space-testnet' | 'story-testnet' | 'verify-testnet' | 'viction-testnet' | 'xai-sepolia-testnet' | 'zkatana' | 'zkyoto' | 'zora-goerli' | 'zora-sepolia' | 'mode-sepolia' | 'zenchain-testnet' | 'ethereum' | 'polygon' | 'bsc' | 'optimism' | 'arbitrum' | 'base' | 'zora' | 'arbitrumnova' | 'astar-zkevm' | 'apechain' | 'apex' | 'boss' | 'lightlink' | 'skale-nebula' | 'sei-pacific-1' | 'chiliz' | 'avalanche' | 'xai' | 'shape' | 'rari' | 'scroll' | 'viction' | 'mode' | 'space' | 'soneium';
320
+ } | {
321
+ /**
322
+ * Base58 encoded serialized Solana transaction
323
+ */
324
+ transaction: string;
325
+ /**
326
+ * Optional array of additional signers required for the transaction
327
+ */
328
+ requiredSigners?: Array<string>;
329
+ /**
330
+ * The locator for the signer who will submit this transaction. Defaults to the admin signer.
331
+ */
332
+ signer?: string;
333
+ };
334
+ };
335
+ type CreateWalletDto = {
336
+ type: 'evm-smart-wallet';
337
+ config?: {
338
+ adminSigner: {
339
+ /**
340
+ * Identifier for EVM keypair signer type
341
+ */
342
+ type: 'evm-keypair';
343
+ /**
344
+ * The Ethereum address of the external signer
345
+ */
346
+ address: string;
347
+ } | {
348
+ /**
349
+ * Identifier for EVM Fireblocks custodial signer type
350
+ */
351
+ type: 'evm-fireblocks-custodial';
352
+ } | {
353
+ /**
354
+ * Identifier for the Passkey signer type
355
+ */
356
+ type: 'evm-passkey';
357
+ /**
358
+ * Credential ID from the WebAuthn registration response
359
+ */
360
+ id: string;
361
+ /**
362
+ * Human-readable name for the passkey
363
+ */
364
+ name: string;
365
+ /**
366
+ * The public key coordinates from the WebAuthn credential
367
+ */
368
+ publicKey: {
369
+ /**
370
+ * X coordinate of the public key as a decimal string
371
+ */
372
+ x: string;
373
+ /**
374
+ * Y coordinate of the public key as a decimal string
375
+ */
376
+ y: string;
377
+ };
378
+ };
379
+ /**
380
+ * The unique wallet seed. By default, the seed is randomly generated.
381
+ */
382
+ creationSeed?: string;
383
+ };
384
+ /**
385
+ * A user locator can be of the format:
386
+ * - `email:<email>`
387
+ * - `userId:<userId>`
388
+ * - `phoneNumber:<phoneNumber>`
389
+ * - `twitter:<handle>`
390
+ * - `x:<handle>`
391
+ */
392
+ linkedUser?: string;
393
+ } | {
394
+ type: 'solana-mpc-wallet';
395
+ config?: unknown;
396
+ /**
397
+ * A user locator can be of the format:
398
+ * - `email:<email>`
399
+ * - `userId:<userId>`
400
+ * - `phoneNumber:<phoneNumber>`
401
+ * - `twitter:<handle>`
402
+ * - `x:<handle>`
403
+ */
404
+ linkedUser?: string;
405
+ } | {
406
+ type: 'solana-smart-wallet';
407
+ config?: {
408
+ adminSigner?: {
409
+ /**
410
+ * Identifier for Solana keypair signer type
411
+ */
412
+ type: 'solana-keypair';
413
+ /**
414
+ * The Solana public key (base58 encoded) of the external signer
415
+ */
416
+ address: string;
417
+ } | {
418
+ /**
419
+ * Identifier for Solana Fireblocks MPC signer type
420
+ */
421
+ type: 'solana-fireblocks-custodial';
422
+ };
423
+ };
424
+ /**
425
+ * A user locator can be of the format:
426
+ * - `email:<email>`
427
+ * - `userId:<userId>`
428
+ * - `phoneNumber:<phoneNumber>`
429
+ * - `twitter:<handle>`
430
+ * - `x:<handle>`
431
+ */
432
+ linkedUser?: string;
433
+ } | {
434
+ type: 'aptos-mpc-wallet';
435
+ config?: unknown;
436
+ /**
437
+ * A user locator can be of the format:
438
+ * - `email:<email>`
439
+ * - `userId:<userId>`
440
+ * - `phoneNumber:<phoneNumber>`
441
+ * - `twitter:<handle>`
442
+ * - `x:<handle>`
443
+ */
444
+ linkedUser?: string;
445
+ } | {
446
+ type: 'cardano-mpc-wallet';
447
+ config?: unknown;
448
+ /**
449
+ * A user locator can be of the format:
450
+ * - `email:<email>`
451
+ * - `userId:<userId>`
452
+ * - `phoneNumber:<phoneNumber>`
453
+ * - `twitter:<handle>`
454
+ * - `x:<handle>`
455
+ */
456
+ linkedUser?: string;
457
+ } | {
458
+ type: 'sui-mpc-wallet';
459
+ config?: unknown;
460
+ /**
461
+ * A user locator can be of the format:
462
+ * - `email:<email>`
463
+ * - `userId:<userId>`
464
+ * - `phoneNumber:<phoneNumber>`
465
+ * - `twitter:<handle>`
466
+ * - `x:<handle>`
467
+ */
468
+ linkedUser?: string;
469
+ } | {
470
+ type: 'solana-custodial-wallet';
471
+ config?: unknown;
472
+ /**
473
+ * A user locator can be of the format:
474
+ * - `email:<email>`
475
+ * - `userId:<userId>`
476
+ * - `phoneNumber:<phoneNumber>`
477
+ * - `twitter:<handle>`
478
+ * - `x:<handle>`
479
+ */
480
+ linkedUser?: string;
481
+ } | {
482
+ type: 'evm-mpc-wallet';
483
+ config?: unknown;
484
+ /**
485
+ * A user locator can be of the format:
486
+ * - `email:<email>`
487
+ * - `userId:<userId>`
488
+ * - `phoneNumber:<phoneNumber>`
489
+ * - `twitter:<handle>`
490
+ * - `x:<handle>`
491
+ */
492
+ linkedUser?: string;
493
+ };
494
+ type DelegatedSignerDto = {
495
+ /**
496
+ * Specifies the type of EVM signer being used, describing the method of key management and transaction signing. `evm-keypair` indicates a signer using a locally managed keypair, suitable for non-custodial wallets. `evm-fireblocks-custodial` refers to a signer managed by Fireblocks, a custodial service provider.
497
+ */
498
+ type: 'evm-keypair' | 'evm-fireblocks-custodial';
499
+ /**
500
+ * The Ethereum address of the signer
501
+ */
502
+ address: string;
503
+ /**
504
+ * The locator of the signer
505
+ */
506
+ locator: string;
507
+ /**
508
+ * The expiry date of the signer in ISO 8601 format
509
+ */
510
+ expiresAt?: number;
511
+ /**
512
+ * The permissions of the signer following ERC-7715
513
+ */
514
+ permissions?: Array<{
515
+ type: 'native-token-transfer';
516
+ data: {
517
+ allowance: string;
518
+ };
519
+ } | {
520
+ type: 'erc20-token-transfer';
521
+ data: {
522
+ /**
523
+ * The address of the smart contract that can be interacted with
524
+ */
525
+ address: string;
526
+ allowance: string;
527
+ };
528
+ } | {
529
+ type: 'erc721-token-transfer';
530
+ data: {
531
+ /**
532
+ * The address of the smart contract that can be interacted with
533
+ */
534
+ address: string;
535
+ /**
536
+ * The token IDs that can be transferred
537
+ */
538
+ tokenIds: Array<string>;
539
+ };
540
+ } | {
541
+ type: 'erc1155-token-transfer';
542
+ data: {
543
+ /**
544
+ * The address of the smart contract that can be interacted with
545
+ */
546
+ address: string;
547
+ /**
548
+ * The token IDs and allowances that can be transferred
549
+ */
550
+ allowances: {
551
+ [key: string]: string;
552
+ };
553
+ };
554
+ } | {
555
+ type: 'gas-limit';
556
+ data: {
557
+ limit: string;
558
+ enforcePaymaster?: boolean;
559
+ allowedPaymaster?: string;
560
+ };
561
+ } | {
562
+ type: 'call-limit';
563
+ data: {
564
+ count: number;
565
+ };
566
+ } | {
567
+ type: 'rate-limit';
568
+ data: {
569
+ count: number;
570
+ /**
571
+ * Time window in seconds
572
+ */
573
+ interval: number;
574
+ };
575
+ }>;
576
+ /**
577
+ * Authorization status for each chain where the chain name is the key and the signature request is the value
578
+ */
579
+ chains?: {
580
+ [key: string]: {
581
+ status: 'success';
582
+ } | {
583
+ status: 'pending' | 'awaiting-approval' | 'failed';
584
+ /**
585
+ * Unique identifier for the signature
586
+ */
587
+ id: string;
588
+ /**
589
+ * Complete approval data including requirements, pending and submitted signatures
590
+ */
591
+ approvals?: {
592
+ /**
593
+ * List of pending signatures
594
+ */
595
+ pending: Array<{
596
+ /**
597
+ * The locator of the signer that's pending approval
598
+ */
599
+ signer: string;
600
+ /**
601
+ * The message that needs to be signed
602
+ */
603
+ message: string;
604
+ }>;
605
+ /**
606
+ * Record of all submitted signatures
607
+ */
608
+ submitted: Array<{
609
+ /**
610
+ * The cryptographic signature
611
+ */
612
+ signature: string;
613
+ /**
614
+ * When the signature was submitted
615
+ */
616
+ submittedAt: number;
617
+ /**
618
+ * The locator of the signer who submitted this signature
619
+ */
620
+ signer: string;
621
+ /**
622
+ * The message that was signed
623
+ */
624
+ message: string;
625
+ /**
626
+ * Additional metadata about the signature submission
627
+ */
628
+ metadata?: {
629
+ deviceInfo?: string;
630
+ ipAddress?: string;
631
+ userAgent?: string;
632
+ };
633
+ }>;
634
+ /**
635
+ * Number of required approvals for the transaction
636
+ */
637
+ required?: number;
638
+ };
639
+ };
640
+ };
641
+ } | {
642
+ /**
643
+ * Specifies the type of Solana signer being used, describing the method of key management and transaction signing.
644
+ */
645
+ type: 'solana-keypair' | 'solana-fireblocks-custodial';
646
+ /**
647
+ * The Solana address of the signer
648
+ */
649
+ address: string;
650
+ /**
651
+ * The locator of the signer
652
+ */
653
+ locator: string;
654
+ /**
655
+ * The transaction for the signer
656
+ */
657
+ transaction: {
658
+ /**
659
+ * Solana smart wallet transaction data including input parameters and chain specific details
660
+ */
661
+ onChain: {
662
+ transaction: string;
663
+ lastValidBlockHeight?: number;
664
+ txId?: string;
665
+ };
666
+ /**
667
+ * Unique identifier for the transaction
668
+ */
669
+ id: string;
670
+ /**
671
+ * Current status of the transaction
672
+ */
673
+ status: 'awaiting-approval' | 'pending' | 'failed' | 'success';
674
+ /**
675
+ * Complete approval data including requirements, pending and submitted signatures
676
+ */
677
+ approvals?: {
678
+ /**
679
+ * List of pending signatures
680
+ */
681
+ pending: Array<{
682
+ /**
683
+ * The locator of the signer that's pending approval
684
+ */
685
+ signer: string;
686
+ /**
687
+ * The message that needs to be signed
688
+ */
689
+ message: string;
690
+ }>;
691
+ /**
692
+ * Record of all submitted signatures
693
+ */
694
+ submitted: Array<{
695
+ /**
696
+ * The cryptographic signature
697
+ */
698
+ signature: string;
699
+ /**
700
+ * When the signature was submitted
701
+ */
702
+ submittedAt: number;
703
+ /**
704
+ * The locator of the signer who submitted this signature
705
+ */
706
+ signer: string;
707
+ /**
708
+ * The message that was signed
709
+ */
710
+ message: string;
711
+ /**
712
+ * Additional metadata about the signature submission
713
+ */
714
+ metadata?: {
715
+ deviceInfo?: string;
716
+ ipAddress?: string;
717
+ userAgent?: string;
718
+ };
719
+ }>;
720
+ /**
721
+ * Number of required approvals for the transaction
722
+ */
723
+ required?: number;
724
+ };
725
+ /**
726
+ * ISO timestamp when the transaction was created
727
+ */
728
+ createdAt: number;
729
+ /**
730
+ * ISO timestamp when the transaction reached finality
731
+ */
732
+ completedAt?: number;
733
+ /**
734
+ * Error message if the transaction fails after submission
735
+ */
736
+ error?: {
737
+ reason: 'program_error';
738
+ message: string;
739
+ logs?: unknown;
740
+ } | {
741
+ reason: 'execution_reverted';
742
+ message: string;
743
+ revert?: {
744
+ type: 'contract_call' | 'wallet_authorization' | 'wallet_deployment';
745
+ reason: string;
746
+ reasonData?: string;
747
+ explorerLink?: string;
748
+ simulationLink?: string;
749
+ };
750
+ };
751
+ };
752
+ };
753
+ /**
754
+ * Parameters required to fund a wallet
755
+ */
756
+ type FundWalletAmountDto = {
757
+ /**
758
+ * The amount of currency to fund the wallet with. Between 1 and 100
759
+ */
760
+ amount: number;
761
+ /**
762
+ * The currency to fund the wallet with
763
+ */
764
+ token: 'ape' | 'eth' | 'matic' | 'pol' | 'sei' | 'chz' | 'avax' | 'xai' | 'fuel' | 'vic' | 'ip' | 'zcx' | 'usdc' | 'usdce' | 'busd' | 'usdxm' | 'weth' | 'degen' | 'brett' | 'toshi' | 'eurc' | 'superverse' | 'bonk' | 'wif' | 'mother' | 'trump' | 'melania' | 'sol' | 'ada' | 'bnb' | 'sui' | 'apt' | 'sfuel';
765
+ /**
766
+ * The chain to fund the wallet with
767
+ */
768
+ chain?: 'arbitrum-sepolia' | 'avalanche-fuji' | 'base-sepolia' | 'barret-testnet' | 'ethereum-sepolia' | 'optimism-sepolia' | 'polygon-amoy' | 'sei-atlantic-2-testnet' | 'skale-nebula-testnet' | 'soneium-minato-testnet' | 'viction-testnet' | 'solana';
769
+ };
770
+ /**
771
+ * Input schema for sending different types of tokens
772
+ */
773
+ type SendTokenDto = {
774
+ /**
775
+ * Recipient address, email or twitter handle
776
+ */
777
+ recipient: string;
778
+ /**
779
+ * Optional signer locator. Defaults to admin signer
780
+ */
781
+ signer?: string;
782
+ /**
783
+ * A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:
784
+ * - `chain:address[:tokenId]`
785
+ * - `chain:currency`
786
+ * - `chain:address`
787
+ */
788
+ token: string;
789
+ /**
790
+ * Amount of tokens to transfer
791
+ */
792
+ amount?: string;
793
+ };
794
+ /**
795
+ * Input for submitting one or more approvals
796
+ */
797
+ type SubmitApprovalDto = {
798
+ /**
799
+ * Array of approvals to submit for this transaction
800
+ */
801
+ approvals: {
802
+ /**
803
+ * The locator for the EVM signer
804
+ */
805
+ signer: string;
806
+ /**
807
+ * The EVM cryptographic signature
808
+ */
809
+ signature: string;
810
+ } | {
811
+ /**
812
+ * The locator for the EVM signer
813
+ */
814
+ signer: string;
815
+ /**
816
+ * The signature components
817
+ */
818
+ signature: {
819
+ /**
820
+ * R component of the signature as a stringified bigint
821
+ */
822
+ r: string;
823
+ /**
824
+ * S component of the signature as a stringified bigint
825
+ */
826
+ s: string;
827
+ };
828
+ /**
829
+ * WebAuthn signature metadata
830
+ */
831
+ metadata: {
832
+ /**
833
+ * WebAuthn authenticator data as hex string
834
+ */
835
+ authenticatorData: string;
836
+ /**
837
+ * Index of the challenge used
838
+ */
839
+ challengeIndex: number;
840
+ /**
841
+ * WebAuthn client data JSON string
842
+ */
843
+ clientDataJSON: string;
844
+ /**
845
+ * Index of the signature type
846
+ */
847
+ typeIndex: number;
848
+ /**
849
+ * Whether user verification was required
850
+ */
851
+ userVerificationRequired: boolean;
852
+ };
853
+ } | Array<{
854
+ /**
855
+ * The locator for the Solana signer
856
+ */
857
+ signer: string;
858
+ /**
859
+ * The Solana cryptographic signature
860
+ */
861
+ signature: string;
862
+ }>;
863
+ };
864
+ /**
865
+ * The balances of the wallet
866
+ */
867
+ type WalletBalanceResponseDto = Array<{
868
+ /**
869
+ * The token
870
+ */
871
+ token: 'ape' | 'eth' | 'matic' | 'pol' | 'sei' | 'chz' | 'avax' | 'xai' | 'fuel' | 'vic' | 'ip' | 'zcx' | 'usdc' | 'usdce' | 'busd' | 'usdxm' | 'weth' | 'degen' | 'brett' | 'toshi' | 'eurc' | 'superverse' | 'bonk' | 'wif' | 'mother' | 'trump' | 'melania' | 'sol' | 'ada' | 'bnb' | 'sui' | 'apt' | 'sfuel';
872
+ /**
873
+ * The number of decimals of the token
874
+ */
875
+ decimals: number;
876
+ /**
877
+ * The balance of the wallet in different chains
878
+ */
879
+ balances: {
880
+ [key: string]: string;
881
+ };
882
+ }>;
883
+ /**
884
+ * List of signatures with their status, signing requirements, and wallet type specific data
885
+ */
886
+ type WalletsV1Alpha2MultipleSignatureResponseDto = {
887
+ signatures: Array<{
888
+ /**
889
+ * Unique identifier for the signature
890
+ */
891
+ id: string;
892
+ /**
893
+ * The type of signature
894
+ */
895
+ type: 'evm-message' | 'solana-message' | 'evm-typed-data' | 'aptos-message' | 'cardano-message' | 'sui-message';
896
+ /**
897
+ * Current status of the signature
898
+ */
899
+ status: 'awaiting-approval' | 'pending' | 'failed' | 'success';
900
+ /**
901
+ * Type-specific signature parameters
902
+ */
903
+ params: {
904
+ /**
905
+ * The message in plain text to sign
906
+ */
907
+ message: string;
908
+ /**
909
+ * The locator for the signer who will submit this signature. Defaults to the wallet's admin signer.
910
+ */
911
+ signer?: string;
912
+ /**
913
+ * The chain on which the signature will be submitted
914
+ */
915
+ chain: 'arbitrum-sepolia' | 'avalanche-fuji' | 'curtis' | 'barret-testnet' | 'base-goerli' | 'base-sepolia' | 'bsc-testnet' | 'chiliz-spicy-testnet' | 'ethereum-goerli' | 'ethereum-sepolia' | 'hypersonic-testnet' | 'lightlink-pegasus' | 'optimism-goerli' | 'optimism-sepolia' | 'polygon-amoy' | 'polygon-mumbai' | 'crossmint-private-testnet-ethereum' | 'crossmint-private-testnet-polygon' | 'rari-testnet' | 'scroll-sepolia' | 'sei-atlantic-2-testnet' | 'shape-sepolia' | 'skale-nebula-testnet' | 'soneium-minato-testnet' | 'space-testnet' | 'story-testnet' | 'verify-testnet' | 'viction-testnet' | 'xai-sepolia-testnet' | 'zkatana' | 'zkyoto' | 'zora-goerli' | 'zora-sepolia' | 'mode-sepolia' | 'zenchain-testnet' | 'ethereum' | 'polygon' | 'bsc' | 'optimism' | 'arbitrum' | 'base' | 'zora' | 'arbitrumnova' | 'astar-zkevm' | 'apechain' | 'apex' | 'boss' | 'lightlink' | 'skale-nebula' | 'sei-pacific-1' | 'chiliz' | 'avalanche' | 'xai' | 'shape' | 'rari' | 'scroll' | 'viction' | 'mode' | 'space' | 'soneium';
916
+ } | {
917
+ /**
918
+ * The message in plain text to sign
919
+ */
920
+ message: string;
921
+ } | {
922
+ typedData: {
923
+ domain: {
924
+ name: string;
925
+ version: string;
926
+ chainId: number;
927
+ /**
928
+ * An EVM address string
929
+ */
930
+ verifyingContract: string;
931
+ salt?: string;
932
+ };
933
+ types: {
934
+ [key: string]: Array<{
935
+ name: string;
936
+ type: string;
937
+ }>;
938
+ };
939
+ primaryType: string;
940
+ message: {};
941
+ };
942
+ /**
943
+ * The chain on which the signature will be submitted
944
+ */
945
+ chain: 'arbitrum-sepolia' | 'avalanche-fuji' | 'curtis' | 'barret-testnet' | 'base-goerli' | 'base-sepolia' | 'bsc-testnet' | 'chiliz-spicy-testnet' | 'ethereum-goerli' | 'ethereum-sepolia' | 'hypersonic-testnet' | 'lightlink-pegasus' | 'optimism-goerli' | 'optimism-sepolia' | 'polygon-amoy' | 'polygon-mumbai' | 'crossmint-private-testnet-ethereum' | 'crossmint-private-testnet-polygon' | 'rari-testnet' | 'scroll-sepolia' | 'sei-atlantic-2-testnet' | 'shape-sepolia' | 'skale-nebula-testnet' | 'soneium-minato-testnet' | 'space-testnet' | 'story-testnet' | 'verify-testnet' | 'viction-testnet' | 'xai-sepolia-testnet' | 'zkatana' | 'zkyoto' | 'zora-goerli' | 'zora-sepolia' | 'mode-sepolia' | 'zenchain-testnet' | 'ethereum' | 'polygon' | 'bsc' | 'optimism' | 'arbitrum' | 'base' | 'zora' | 'arbitrumnova' | 'astar-zkevm' | 'apechain' | 'apex' | 'boss' | 'lightlink' | 'skale-nebula' | 'sei-pacific-1' | 'chiliz' | 'avalanche' | 'xai' | 'shape' | 'rari' | 'scroll' | 'viction' | 'mode' | 'space' | 'soneium';
946
+ /**
947
+ * The locator for the signer who will approve this signature
948
+ */
949
+ signer?: string;
950
+ /**
951
+ * Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492.
952
+ */
953
+ isSmartWalletSignature?: boolean;
954
+ };
955
+ /**
956
+ * Complete approval data including requirements, pending and submitted signatures
957
+ */
958
+ approvals?: {
959
+ /**
960
+ * List of pending signatures
961
+ */
962
+ pending: Array<{
963
+ /**
964
+ * The locator of the signer that's pending approval
965
+ */
966
+ signer: string;
967
+ /**
968
+ * The message that needs to be signed
969
+ */
970
+ message: string;
971
+ }>;
972
+ /**
973
+ * Record of all submitted signatures
974
+ */
975
+ submitted: Array<{
976
+ /**
977
+ * The cryptographic signature
978
+ */
979
+ signature: string;
980
+ /**
981
+ * When the signature was submitted
982
+ */
983
+ submittedAt: number;
984
+ /**
985
+ * The locator of the signer who submitted this signature
986
+ */
987
+ signer: string;
988
+ /**
989
+ * The message that was signed
990
+ */
991
+ message: string;
992
+ /**
993
+ * Additional metadata about the signature submission
994
+ */
995
+ metadata?: {
996
+ deviceInfo?: string;
997
+ ipAddress?: string;
998
+ userAgent?: string;
999
+ };
1000
+ }>;
1001
+ /**
1002
+ * Number of required approvals for the transaction
1003
+ */
1004
+ required?: number;
1005
+ };
1006
+ /**
1007
+ * ISO timestamp when the signature was created
1008
+ */
1009
+ createdAt: number;
1010
+ /**
1011
+ * ISO timestamp when the transaction reached finality
1012
+ */
1013
+ completedAt?: number;
1014
+ /**
1015
+ * Error message if the signature fails
1016
+ */
1017
+ error?: unknown;
1018
+ /**
1019
+ * The wallet's output signature of the request
1020
+ */
1021
+ outputSignature?: string;
1022
+ }>;
1023
+ };
1024
+ /**
1025
+ * Complete signature response including status, signing requirements, and wallet type specific data
1026
+ */
1027
+ type WalletsV1Alpha2SignatureResponseDto = {
1028
+ /**
1029
+ * Unique identifier for the signature
1030
+ */
1031
+ id: string;
1032
+ /**
1033
+ * The type of signature
1034
+ */
1035
+ type: 'evm-message' | 'solana-message' | 'evm-typed-data' | 'aptos-message' | 'cardano-message' | 'sui-message';
1036
+ /**
1037
+ * Current status of the signature
1038
+ */
1039
+ status: 'awaiting-approval' | 'pending' | 'failed' | 'success';
1040
+ /**
1041
+ * Type-specific signature parameters
1042
+ */
1043
+ params: {
1044
+ /**
1045
+ * The message in plain text to sign
1046
+ */
1047
+ message: string;
1048
+ /**
1049
+ * The locator for the signer who will submit this signature. Defaults to the wallet's admin signer.
1050
+ */
1051
+ signer?: string;
1052
+ /**
1053
+ * The chain on which the signature will be submitted
1054
+ */
1055
+ chain: 'arbitrum-sepolia' | 'avalanche-fuji' | 'curtis' | 'barret-testnet' | 'base-goerli' | 'base-sepolia' | 'bsc-testnet' | 'chiliz-spicy-testnet' | 'ethereum-goerli' | 'ethereum-sepolia' | 'hypersonic-testnet' | 'lightlink-pegasus' | 'optimism-goerli' | 'optimism-sepolia' | 'polygon-amoy' | 'polygon-mumbai' | 'crossmint-private-testnet-ethereum' | 'crossmint-private-testnet-polygon' | 'rari-testnet' | 'scroll-sepolia' | 'sei-atlantic-2-testnet' | 'shape-sepolia' | 'skale-nebula-testnet' | 'soneium-minato-testnet' | 'space-testnet' | 'story-testnet' | 'verify-testnet' | 'viction-testnet' | 'xai-sepolia-testnet' | 'zkatana' | 'zkyoto' | 'zora-goerli' | 'zora-sepolia' | 'mode-sepolia' | 'zenchain-testnet' | 'ethereum' | 'polygon' | 'bsc' | 'optimism' | 'arbitrum' | 'base' | 'zora' | 'arbitrumnova' | 'astar-zkevm' | 'apechain' | 'apex' | 'boss' | 'lightlink' | 'skale-nebula' | 'sei-pacific-1' | 'chiliz' | 'avalanche' | 'xai' | 'shape' | 'rari' | 'scroll' | 'viction' | 'mode' | 'space' | 'soneium';
1056
+ } | {
1057
+ /**
1058
+ * The message in plain text to sign
1059
+ */
1060
+ message: string;
1061
+ } | {
1062
+ typedData: {
1063
+ domain: {
1064
+ name: string;
1065
+ version: string;
1066
+ chainId: number;
1067
+ /**
1068
+ * An EVM address string
1069
+ */
1070
+ verifyingContract: string;
1071
+ salt?: string;
1072
+ };
1073
+ types: {
1074
+ [key: string]: Array<{
1075
+ name: string;
1076
+ type: string;
1077
+ }>;
1078
+ };
1079
+ primaryType: string;
1080
+ message: {};
1081
+ };
1082
+ /**
1083
+ * The chain on which the signature will be submitted
1084
+ */
1085
+ chain: 'arbitrum-sepolia' | 'avalanche-fuji' | 'curtis' | 'barret-testnet' | 'base-goerli' | 'base-sepolia' | 'bsc-testnet' | 'chiliz-spicy-testnet' | 'ethereum-goerli' | 'ethereum-sepolia' | 'hypersonic-testnet' | 'lightlink-pegasus' | 'optimism-goerli' | 'optimism-sepolia' | 'polygon-amoy' | 'polygon-mumbai' | 'crossmint-private-testnet-ethereum' | 'crossmint-private-testnet-polygon' | 'rari-testnet' | 'scroll-sepolia' | 'sei-atlantic-2-testnet' | 'shape-sepolia' | 'skale-nebula-testnet' | 'soneium-minato-testnet' | 'space-testnet' | 'story-testnet' | 'verify-testnet' | 'viction-testnet' | 'xai-sepolia-testnet' | 'zkatana' | 'zkyoto' | 'zora-goerli' | 'zora-sepolia' | 'mode-sepolia' | 'zenchain-testnet' | 'ethereum' | 'polygon' | 'bsc' | 'optimism' | 'arbitrum' | 'base' | 'zora' | 'arbitrumnova' | 'astar-zkevm' | 'apechain' | 'apex' | 'boss' | 'lightlink' | 'skale-nebula' | 'sei-pacific-1' | 'chiliz' | 'avalanche' | 'xai' | 'shape' | 'rari' | 'scroll' | 'viction' | 'mode' | 'space' | 'soneium';
1086
+ /**
1087
+ * The locator for the signer who will approve this signature
1088
+ */
1089
+ signer?: string;
1090
+ /**
1091
+ * Whether the signature corresponds to the smart wallet or to the signer. If true, the signature will be wrapped with ERC6492.
1092
+ */
1093
+ isSmartWalletSignature?: boolean;
1094
+ };
1095
+ /**
1096
+ * Complete approval data including requirements, pending and submitted signatures
1097
+ */
1098
+ approvals?: {
1099
+ /**
1100
+ * List of pending signatures
1101
+ */
1102
+ pending: Array<{
1103
+ /**
1104
+ * The locator of the signer that's pending approval
1105
+ */
1106
+ signer: string;
1107
+ /**
1108
+ * The message that needs to be signed
1109
+ */
1110
+ message: string;
1111
+ }>;
1112
+ /**
1113
+ * Record of all submitted signatures
1114
+ */
1115
+ submitted: Array<{
1116
+ /**
1117
+ * The cryptographic signature
1118
+ */
1119
+ signature: string;
1120
+ /**
1121
+ * When the signature was submitted
1122
+ */
1123
+ submittedAt: number;
1124
+ /**
1125
+ * The locator of the signer who submitted this signature
1126
+ */
1127
+ signer: string;
1128
+ /**
1129
+ * The message that was signed
1130
+ */
1131
+ message: string;
1132
+ /**
1133
+ * Additional metadata about the signature submission
1134
+ */
1135
+ metadata?: {
1136
+ deviceInfo?: string;
1137
+ ipAddress?: string;
1138
+ userAgent?: string;
1139
+ };
1140
+ }>;
1141
+ /**
1142
+ * Number of required approvals for the transaction
1143
+ */
1144
+ required?: number;
1145
+ };
1146
+ /**
1147
+ * ISO timestamp when the signature was created
1148
+ */
1149
+ createdAt: number;
1150
+ /**
1151
+ * ISO timestamp when the transaction reached finality
1152
+ */
1153
+ completedAt?: number;
1154
+ /**
1155
+ * Error message if the signature fails
1156
+ */
1157
+ error?: unknown;
1158
+ /**
1159
+ * The wallet's output signature of the request
1160
+ */
1161
+ outputSignature?: string;
1162
+ };
1163
+ /**
1164
+ * Complete transaction response including status, signing requirements, and wallet type specific data
1165
+ */
1166
+ type WalletsV1Alpha2TransactionResponseDto = {
1167
+ /**
1168
+ * The type of wallet that created this transaction
1169
+ */
1170
+ walletType: 'evm-smart-wallet';
1171
+ /**
1172
+ * EVM smart wallet transaction parameters
1173
+ */
1174
+ params: {
1175
+ /**
1176
+ * Transaction data to execute
1177
+ */
1178
+ calls: Array<{
1179
+ /**
1180
+ * The recipient address for this transaction call
1181
+ */
1182
+ address: string;
1183
+ /**
1184
+ * The name of the function to call
1185
+ */
1186
+ functionName: string;
1187
+ /**
1188
+ * The ABI for the function to call
1189
+ */
1190
+ abi: Array<{
1191
+ type: 'error';
1192
+ inputs: Array<unknown>;
1193
+ name: string;
1194
+ } | {
1195
+ type: 'event';
1196
+ anonymous?: boolean;
1197
+ inputs: Array<unknown & {
1198
+ indexed?: boolean;
1199
+ }>;
1200
+ name: string;
1201
+ } | ({
1202
+ constant?: boolean;
1203
+ gas?: number;
1204
+ payable?: boolean;
1205
+ } & ({
1206
+ type: 'function';
1207
+ inputs: Array<unknown>;
1208
+ name: string;
1209
+ outputs: Array<unknown>;
1210
+ stateMutability: 'pure' | 'view' | 'nonpayable' | 'payable';
1211
+ } | {
1212
+ type: 'constructor';
1213
+ inputs: Array<unknown>;
1214
+ stateMutability: 'payable' | 'nonpayable';
1215
+ } | {
1216
+ type: 'fallback';
1217
+ inputs?: unknown;
1218
+ stateMutability: 'payable' | 'nonpayable';
1219
+ } | {
1220
+ type: 'receive';
1221
+ stateMutability: 'payable';
1222
+ }))>;
1223
+ /**
1224
+ * The arguments to pass to the function
1225
+ */
1226
+ args: Array<unknown>;
1227
+ /**
1228
+ * The amount of native token to send in wei
1229
+ */
1230
+ value?: string;
1231
+ } | {
1232
+ /**
1233
+ * The recipient address for this transaction call
1234
+ */
1235
+ to: string;
1236
+ /**
1237
+ * The amount of native token to send in wei
1238
+ */
1239
+ value: string;
1240
+ /**
1241
+ * The encoded calldata for this transaction
1242
+ */
1243
+ data: unknown;
1244
+ }>;
1245
+ /**
1246
+ * The chain on which the transaction will be executed
1247
+ */
1248
+ chain: 'base' | 'polygon' | 'optimism' | 'arbitrum' | 'mode' | 'base-sepolia' | 'polygon-amoy' | 'optimism-sepolia' | 'arbitrum-sepolia' | 'mode-sepolia' | 'story-testnet';
1249
+ /**
1250
+ * The locator for the signer who will submit this transaction
1251
+ */
1252
+ signer?: string;
1253
+ };
1254
+ /**
1255
+ * EVM smart wallet transaction data including input parameters and chain specific details
1256
+ */
1257
+ onChain: {
1258
+ userOperation: {
1259
+ sender: string;
1260
+ nonce: string;
1261
+ callData: string;
1262
+ callGasLimit: string;
1263
+ verificationGasLimit: string;
1264
+ preVerificationGas: string;
1265
+ maxFeePerGas: string;
1266
+ maxPriorityFeePerGas: string;
1267
+ paymaster?: string;
1268
+ paymasterVerificationGasLimit?: string;
1269
+ paymasterData?: string;
1270
+ paymasterPostOpGasLimit?: string;
1271
+ signature: string;
1272
+ factory?: string;
1273
+ factoryData?: string;
1274
+ };
1275
+ userOperationHash: string;
1276
+ txId?: string;
1277
+ explorerLink?: string;
1278
+ };
1279
+ /**
1280
+ * Unique identifier for the transaction
1281
+ */
1282
+ id: string;
1283
+ /**
1284
+ * Current status of the transaction
1285
+ */
1286
+ status: 'awaiting-approval' | 'pending' | 'failed' | 'success';
1287
+ /**
1288
+ * Complete approval data including requirements, pending and submitted signatures
1289
+ */
1290
+ approvals?: {
1291
+ /**
1292
+ * List of pending signatures
1293
+ */
1294
+ pending: Array<{
1295
+ /**
1296
+ * The locator of the signer that's pending approval
1297
+ */
1298
+ signer: string;
1299
+ /**
1300
+ * The message that needs to be signed
1301
+ */
1302
+ message: string;
1303
+ }>;
1304
+ /**
1305
+ * Record of all submitted signatures
1306
+ */
1307
+ submitted: Array<{
1308
+ /**
1309
+ * The cryptographic signature
1310
+ */
1311
+ signature: string;
1312
+ /**
1313
+ * When the signature was submitted
1314
+ */
1315
+ submittedAt: number;
1316
+ /**
1317
+ * The locator of the signer who submitted this signature
1318
+ */
1319
+ signer: string;
1320
+ /**
1321
+ * The message that was signed
1322
+ */
1323
+ message: string;
1324
+ /**
1325
+ * Additional metadata about the signature submission
1326
+ */
1327
+ metadata?: {
1328
+ deviceInfo?: string;
1329
+ ipAddress?: string;
1330
+ userAgent?: string;
1331
+ };
1332
+ }>;
1333
+ /**
1334
+ * Number of required approvals for the transaction
1335
+ */
1336
+ required?: number;
1337
+ };
1338
+ /**
1339
+ * ISO timestamp when the transaction was created
1340
+ */
1341
+ createdAt: number;
1342
+ /**
1343
+ * ISO timestamp when the transaction reached finality
1344
+ */
1345
+ completedAt?: number;
1346
+ /**
1347
+ * Error message if the transaction fails after submission
1348
+ */
1349
+ error?: {
1350
+ reason: 'program_error';
1351
+ message: string;
1352
+ logs?: unknown;
1353
+ } | {
1354
+ reason: 'execution_reverted';
1355
+ message: string;
1356
+ revert?: {
1357
+ type: 'contract_call' | 'wallet_authorization' | 'wallet_deployment';
1358
+ reason: string;
1359
+ reasonData?: string;
1360
+ explorerLink?: string;
1361
+ simulationLink?: string;
1362
+ };
1363
+ };
1364
+ } | {
1365
+ /**
1366
+ * The type of wallet that created this transaction
1367
+ */
1368
+ walletType: 'solana-mpc-wallet';
1369
+ /**
1370
+ * Solana custodial wallet transaction parameters
1371
+ */
1372
+ params: {
1373
+ /**
1374
+ * Base58 encoded serialized Solana transaction
1375
+ */
1376
+ transaction: string;
1377
+ /**
1378
+ * Optional array of additional signers required for the transaction
1379
+ */
1380
+ requiredSigners?: Array<string>;
1381
+ };
1382
+ /**
1383
+ * Solana custodial wallet transaction data including input parameters and chain specific details
1384
+ */
1385
+ onChain: {
1386
+ transaction: string;
1387
+ lastValidBlockHeight?: number;
1388
+ txId?: string;
1389
+ };
1390
+ /**
1391
+ * Unique identifier for the transaction
1392
+ */
1393
+ id: string;
1394
+ /**
1395
+ * Current status of the transaction
1396
+ */
1397
+ status: 'awaiting-approval' | 'pending' | 'failed' | 'success';
1398
+ /**
1399
+ * Complete approval data including requirements, pending and submitted signatures
1400
+ */
1401
+ approvals?: {
1402
+ /**
1403
+ * List of pending signatures
1404
+ */
1405
+ pending: Array<{
1406
+ /**
1407
+ * The locator of the signer that's pending approval
1408
+ */
1409
+ signer: string;
1410
+ /**
1411
+ * The message that needs to be signed
1412
+ */
1413
+ message: string;
1414
+ }>;
1415
+ /**
1416
+ * Record of all submitted signatures
1417
+ */
1418
+ submitted: Array<{
1419
+ /**
1420
+ * The cryptographic signature
1421
+ */
1422
+ signature: string;
1423
+ /**
1424
+ * When the signature was submitted
1425
+ */
1426
+ submittedAt: number;
1427
+ /**
1428
+ * The locator of the signer who submitted this signature
1429
+ */
1430
+ signer: string;
1431
+ /**
1432
+ * The message that was signed
1433
+ */
1434
+ message: string;
1435
+ /**
1436
+ * Additional metadata about the signature submission
1437
+ */
1438
+ metadata?: {
1439
+ deviceInfo?: string;
1440
+ ipAddress?: string;
1441
+ userAgent?: string;
1442
+ };
1443
+ }>;
1444
+ /**
1445
+ * Number of required approvals for the transaction
1446
+ */
1447
+ required?: number;
1448
+ };
1449
+ /**
1450
+ * ISO timestamp when the transaction was created
1451
+ */
1452
+ createdAt: number;
1453
+ /**
1454
+ * ISO timestamp when the transaction reached finality
1455
+ */
1456
+ completedAt?: number;
1457
+ /**
1458
+ * Error message if the transaction fails after submission
1459
+ */
1460
+ error?: {
1461
+ reason: 'program_error';
1462
+ message: string;
1463
+ logs?: unknown;
1464
+ } | {
1465
+ reason: 'execution_reverted';
1466
+ message: string;
1467
+ revert?: {
1468
+ type: 'contract_call' | 'wallet_authorization' | 'wallet_deployment';
1469
+ reason: string;
1470
+ reasonData?: string;
1471
+ explorerLink?: string;
1472
+ simulationLink?: string;
1473
+ };
1474
+ };
1475
+ } | {
1476
+ /**
1477
+ * The type of wallet that created this transaction
1478
+ */
1479
+ walletType: 'evm-mpc-wallet';
1480
+ /**
1481
+ * EVM MPC wallet transaction parameters
1482
+ */
1483
+ params: {
1484
+ /**
1485
+ * The transaction call to execute
1486
+ */
1487
+ call: {
1488
+ /**
1489
+ * The recipient address for this transaction call
1490
+ */
1491
+ to: string;
1492
+ /**
1493
+ * The encoded calldata for this transaction
1494
+ */
1495
+ data: unknown;
1496
+ } | {
1497
+ /**
1498
+ * The recipient address for this transaction call
1499
+ */
1500
+ address: string;
1501
+ /**
1502
+ * The name of the function to call
1503
+ */
1504
+ functionName: string;
1505
+ /**
1506
+ * The ABI for the function to call
1507
+ */
1508
+ abi: Array<{
1509
+ type: 'error';
1510
+ inputs: Array<unknown>;
1511
+ name: string;
1512
+ } | {
1513
+ type: 'event';
1514
+ anonymous?: boolean;
1515
+ inputs: Array<unknown & {
1516
+ indexed?: boolean;
1517
+ }>;
1518
+ name: string;
1519
+ } | ({
1520
+ constant?: boolean;
1521
+ gas?: number;
1522
+ payable?: boolean;
1523
+ } & ({
1524
+ type: 'function';
1525
+ inputs: Array<unknown>;
1526
+ name: string;
1527
+ outputs: Array<unknown>;
1528
+ stateMutability: 'pure' | 'view' | 'nonpayable' | 'payable';
1529
+ } | {
1530
+ type: 'constructor';
1531
+ inputs: Array<unknown>;
1532
+ stateMutability: 'payable' | 'nonpayable';
1533
+ } | {
1534
+ type: 'fallback';
1535
+ inputs?: unknown;
1536
+ stateMutability: 'payable' | 'nonpayable';
1537
+ } | {
1538
+ type: 'receive';
1539
+ stateMutability: 'payable';
1540
+ }))>;
1541
+ /**
1542
+ * The arguments to pass to the function
1543
+ */
1544
+ args: Array<unknown>;
1545
+ };
1546
+ /**
1547
+ * The chain on which the transaction will be executed
1548
+ */
1549
+ chain: 'arbitrum-sepolia' | 'avalanche-fuji' | 'curtis' | 'barret-testnet' | 'base-goerli' | 'base-sepolia' | 'bsc-testnet' | 'chiliz-spicy-testnet' | 'ethereum-goerli' | 'ethereum-sepolia' | 'hypersonic-testnet' | 'lightlink-pegasus' | 'optimism-goerli' | 'optimism-sepolia' | 'polygon-amoy' | 'polygon-mumbai' | 'crossmint-private-testnet-ethereum' | 'crossmint-private-testnet-polygon' | 'rari-testnet' | 'scroll-sepolia' | 'sei-atlantic-2-testnet' | 'shape-sepolia' | 'skale-nebula-testnet' | 'soneium-minato-testnet' | 'space-testnet' | 'story-testnet' | 'verify-testnet' | 'viction-testnet' | 'xai-sepolia-testnet' | 'zkatana' | 'zkyoto' | 'zora-goerli' | 'zora-sepolia' | 'mode-sepolia' | 'zenchain-testnet' | 'ethereum' | 'polygon' | 'bsc' | 'optimism' | 'arbitrum' | 'base' | 'zora' | 'arbitrumnova' | 'astar-zkevm' | 'apechain' | 'apex' | 'boss' | 'lightlink' | 'skale-nebula' | 'sei-pacific-1' | 'chiliz' | 'avalanche' | 'xai' | 'shape' | 'rari' | 'scroll' | 'viction' | 'mode' | 'space' | 'soneium';
1550
+ };
1551
+ /**
1552
+ * EVM MPC wallet transaction data including input parameters and chain specific details
1553
+ */
1554
+ onChain: {
1555
+ call: {
1556
+ /**
1557
+ * The recipient address for this transaction call
1558
+ */
1559
+ to: string;
1560
+ /**
1561
+ * The encoded calldata for this transaction
1562
+ */
1563
+ data: unknown;
1564
+ };
1565
+ txId?: string;
1566
+ explorerLink?: string;
1567
+ };
1568
+ /**
1569
+ * Unique identifier for the transaction
1570
+ */
1571
+ id: string;
1572
+ /**
1573
+ * Current status of the transaction
1574
+ */
1575
+ status: 'awaiting-approval' | 'pending' | 'failed' | 'success';
1576
+ /**
1577
+ * Complete approval data including requirements, pending and submitted signatures
1578
+ */
1579
+ approvals?: {
1580
+ /**
1581
+ * List of pending signatures
1582
+ */
1583
+ pending: Array<{
1584
+ /**
1585
+ * The locator of the signer that's pending approval
1586
+ */
1587
+ signer: string;
1588
+ /**
1589
+ * The message that needs to be signed
1590
+ */
1591
+ message: string;
1592
+ }>;
1593
+ /**
1594
+ * Record of all submitted signatures
1595
+ */
1596
+ submitted: Array<{
1597
+ /**
1598
+ * The cryptographic signature
1599
+ */
1600
+ signature: string;
1601
+ /**
1602
+ * When the signature was submitted
1603
+ */
1604
+ submittedAt: number;
1605
+ /**
1606
+ * The locator of the signer who submitted this signature
1607
+ */
1608
+ signer: string;
1609
+ /**
1610
+ * The message that was signed
1611
+ */
1612
+ message: string;
1613
+ /**
1614
+ * Additional metadata about the signature submission
1615
+ */
1616
+ metadata?: {
1617
+ deviceInfo?: string;
1618
+ ipAddress?: string;
1619
+ userAgent?: string;
1620
+ };
1621
+ }>;
1622
+ /**
1623
+ * Number of required approvals for the transaction
1624
+ */
1625
+ required?: number;
1626
+ };
1627
+ /**
1628
+ * ISO timestamp when the transaction was created
1629
+ */
1630
+ createdAt: number;
1631
+ /**
1632
+ * ISO timestamp when the transaction reached finality
1633
+ */
1634
+ completedAt?: number;
1635
+ /**
1636
+ * Error message if the transaction fails after submission
1637
+ */
1638
+ error?: {
1639
+ reason: 'program_error';
1640
+ message: string;
1641
+ logs?: unknown;
1642
+ } | {
1643
+ reason: 'execution_reverted';
1644
+ message: string;
1645
+ revert?: {
1646
+ type: 'contract_call' | 'wallet_authorization' | 'wallet_deployment';
1647
+ reason: string;
1648
+ reasonData?: string;
1649
+ explorerLink?: string;
1650
+ simulationLink?: string;
1651
+ };
1652
+ };
1653
+ } | {
1654
+ /**
1655
+ * The type of wallet that created this transaction
1656
+ */
1657
+ walletType: 'solana-smart-wallet';
1658
+ /**
1659
+ * Solana smart wallet transaction parameters
1660
+ */
1661
+ params: {
1662
+ /**
1663
+ * Base58 encoded serialized Solana transaction
1664
+ */
1665
+ transaction: string;
1666
+ /**
1667
+ * Optional array of additional signers required for the transaction
1668
+ */
1669
+ requiredSigners?: Array<string>;
1670
+ /**
1671
+ * The locator for the signer who will submit this transaction. Defaults to the admin signer.
1672
+ */
1673
+ signer?: string;
1674
+ };
1675
+ /**
1676
+ * Solana smart wallet transaction data including input parameters and chain specific details
1677
+ */
1678
+ onChain: {
1679
+ transaction: string;
1680
+ lastValidBlockHeight?: number;
1681
+ txId?: string;
1682
+ };
1683
+ /**
1684
+ * Unique identifier for the transaction
1685
+ */
1686
+ id: string;
1687
+ /**
1688
+ * Current status of the transaction
1689
+ */
1690
+ status: 'awaiting-approval' | 'pending' | 'failed' | 'success';
1691
+ /**
1692
+ * Complete approval data including requirements, pending and submitted signatures
1693
+ */
1694
+ approvals?: {
1695
+ /**
1696
+ * List of pending signatures
1697
+ */
1698
+ pending: Array<{
1699
+ /**
1700
+ * The locator of the signer that's pending approval
1701
+ */
1702
+ signer: string;
1703
+ /**
1704
+ * The message that needs to be signed
1705
+ */
1706
+ message: string;
1707
+ }>;
1708
+ /**
1709
+ * Record of all submitted signatures
1710
+ */
1711
+ submitted: Array<{
1712
+ /**
1713
+ * The cryptographic signature
1714
+ */
1715
+ signature: string;
1716
+ /**
1717
+ * When the signature was submitted
1718
+ */
1719
+ submittedAt: number;
1720
+ /**
1721
+ * The locator of the signer who submitted this signature
1722
+ */
1723
+ signer: string;
1724
+ /**
1725
+ * The message that was signed
1726
+ */
1727
+ message: string;
1728
+ /**
1729
+ * Additional metadata about the signature submission
1730
+ */
1731
+ metadata?: {
1732
+ deviceInfo?: string;
1733
+ ipAddress?: string;
1734
+ userAgent?: string;
1735
+ };
1736
+ }>;
1737
+ /**
1738
+ * Number of required approvals for the transaction
1739
+ */
1740
+ required?: number;
1741
+ };
1742
+ /**
1743
+ * ISO timestamp when the transaction was created
1744
+ */
1745
+ createdAt: number;
1746
+ /**
1747
+ * ISO timestamp when the transaction reached finality
1748
+ */
1749
+ completedAt?: number;
1750
+ /**
1751
+ * Error message if the transaction fails after submission
1752
+ */
1753
+ error?: {
1754
+ reason: 'program_error';
1755
+ message: string;
1756
+ logs?: unknown;
1757
+ } | {
1758
+ reason: 'execution_reverted';
1759
+ message: string;
1760
+ revert?: {
1761
+ type: 'contract_call' | 'wallet_authorization' | 'wallet_deployment';
1762
+ reason: string;
1763
+ reasonData?: string;
1764
+ explorerLink?: string;
1765
+ simulationLink?: string;
1766
+ };
1767
+ };
1768
+ };
1769
+ /**
1770
+ * List of transactions with their status, signing requirements, and wallet type specific data
1771
+ */
1772
+ type WalletsV1Alpha2TransactionsResponseDto = {
1773
+ /**
1774
+ * Complete transaction response including status, signing requirements, and wallet type specific data
1775
+ */
1776
+ transactions: Array<{
1777
+ /**
1778
+ * The type of wallet that created this transaction
1779
+ */
1780
+ walletType: 'evm-smart-wallet';
1781
+ /**
1782
+ * EVM smart wallet transaction parameters
1783
+ */
1784
+ params: {
1785
+ /**
1786
+ * Transaction data to execute
1787
+ */
1788
+ calls: Array<{
1789
+ /**
1790
+ * The recipient address for this transaction call
1791
+ */
1792
+ address: string;
1793
+ /**
1794
+ * The name of the function to call
1795
+ */
1796
+ functionName: string;
1797
+ /**
1798
+ * The ABI for the function to call
1799
+ */
1800
+ abi: Array<{
1801
+ type: 'error';
1802
+ inputs: Array<unknown>;
1803
+ name: string;
1804
+ } | {
1805
+ type: 'event';
1806
+ anonymous?: boolean;
1807
+ inputs: Array<unknown & {
1808
+ indexed?: boolean;
1809
+ }>;
1810
+ name: string;
1811
+ } | ({
1812
+ constant?: boolean;
1813
+ gas?: number;
1814
+ payable?: boolean;
1815
+ } & ({
1816
+ type: 'function';
1817
+ inputs: Array<unknown>;
1818
+ name: string;
1819
+ outputs: Array<unknown>;
1820
+ stateMutability: 'pure' | 'view' | 'nonpayable' | 'payable';
1821
+ } | {
1822
+ type: 'constructor';
1823
+ inputs: Array<unknown>;
1824
+ stateMutability: 'payable' | 'nonpayable';
1825
+ } | {
1826
+ type: 'fallback';
1827
+ inputs?: unknown;
1828
+ stateMutability: 'payable' | 'nonpayable';
1829
+ } | {
1830
+ type: 'receive';
1831
+ stateMutability: 'payable';
1832
+ }))>;
1833
+ /**
1834
+ * The arguments to pass to the function
1835
+ */
1836
+ args: Array<unknown>;
1837
+ /**
1838
+ * The amount of native token to send in wei
1839
+ */
1840
+ value?: string;
1841
+ } | {
1842
+ /**
1843
+ * The recipient address for this transaction call
1844
+ */
1845
+ to: string;
1846
+ /**
1847
+ * The amount of native token to send in wei
1848
+ */
1849
+ value: string;
1850
+ /**
1851
+ * The encoded calldata for this transaction
1852
+ */
1853
+ data: unknown;
1854
+ }>;
1855
+ /**
1856
+ * The chain on which the transaction will be executed
1857
+ */
1858
+ chain: 'base' | 'polygon' | 'optimism' | 'arbitrum' | 'mode' | 'base-sepolia' | 'polygon-amoy' | 'optimism-sepolia' | 'arbitrum-sepolia' | 'mode-sepolia' | 'story-testnet';
1859
+ /**
1860
+ * The locator for the signer who will submit this transaction
1861
+ */
1862
+ signer?: string;
1863
+ };
1864
+ /**
1865
+ * EVM smart wallet transaction data including input parameters and chain specific details
1866
+ */
1867
+ onChain: {
1868
+ userOperation: {
1869
+ sender: string;
1870
+ nonce: string;
1871
+ callData: string;
1872
+ callGasLimit: string;
1873
+ verificationGasLimit: string;
1874
+ preVerificationGas: string;
1875
+ maxFeePerGas: string;
1876
+ maxPriorityFeePerGas: string;
1877
+ paymaster?: string;
1878
+ paymasterVerificationGasLimit?: string;
1879
+ paymasterData?: string;
1880
+ paymasterPostOpGasLimit?: string;
1881
+ signature: string;
1882
+ factory?: string;
1883
+ factoryData?: string;
1884
+ };
1885
+ userOperationHash: string;
1886
+ txId?: string;
1887
+ explorerLink?: string;
1888
+ };
1889
+ /**
1890
+ * Unique identifier for the transaction
1891
+ */
1892
+ id: string;
1893
+ /**
1894
+ * Current status of the transaction
1895
+ */
1896
+ status: 'awaiting-approval' | 'pending' | 'failed' | 'success';
1897
+ /**
1898
+ * Complete approval data including requirements, pending and submitted signatures
1899
+ */
1900
+ approvals?: {
1901
+ /**
1902
+ * List of pending signatures
1903
+ */
1904
+ pending: Array<{
1905
+ /**
1906
+ * The locator of the signer that's pending approval
1907
+ */
1908
+ signer: string;
1909
+ /**
1910
+ * The message that needs to be signed
1911
+ */
1912
+ message: string;
1913
+ }>;
1914
+ /**
1915
+ * Record of all submitted signatures
1916
+ */
1917
+ submitted: Array<{
1918
+ /**
1919
+ * The cryptographic signature
1920
+ */
1921
+ signature: string;
1922
+ /**
1923
+ * When the signature was submitted
1924
+ */
1925
+ submittedAt: number;
1926
+ /**
1927
+ * The locator of the signer who submitted this signature
1928
+ */
1929
+ signer: string;
1930
+ /**
1931
+ * The message that was signed
1932
+ */
1933
+ message: string;
1934
+ /**
1935
+ * Additional metadata about the signature submission
1936
+ */
1937
+ metadata?: {
1938
+ deviceInfo?: string;
1939
+ ipAddress?: string;
1940
+ userAgent?: string;
1941
+ };
1942
+ }>;
1943
+ /**
1944
+ * Number of required approvals for the transaction
1945
+ */
1946
+ required?: number;
1947
+ };
1948
+ /**
1949
+ * ISO timestamp when the transaction was created
1950
+ */
1951
+ createdAt: number;
1952
+ /**
1953
+ * ISO timestamp when the transaction reached finality
1954
+ */
1955
+ completedAt?: number;
1956
+ /**
1957
+ * Error message if the transaction fails after submission
1958
+ */
1959
+ error?: {
1960
+ reason: 'program_error';
1961
+ message: string;
1962
+ logs?: unknown;
1963
+ } | {
1964
+ reason: 'execution_reverted';
1965
+ message: string;
1966
+ revert?: {
1967
+ type: 'contract_call' | 'wallet_authorization' | 'wallet_deployment';
1968
+ reason: string;
1969
+ reasonData?: string;
1970
+ explorerLink?: string;
1971
+ simulationLink?: string;
1972
+ };
1973
+ };
1974
+ } | {
1975
+ /**
1976
+ * The type of wallet that created this transaction
1977
+ */
1978
+ walletType: 'solana-mpc-wallet';
1979
+ /**
1980
+ * Solana custodial wallet transaction parameters
1981
+ */
1982
+ params: {
1983
+ /**
1984
+ * Base58 encoded serialized Solana transaction
1985
+ */
1986
+ transaction: string;
1987
+ /**
1988
+ * Optional array of additional signers required for the transaction
1989
+ */
1990
+ requiredSigners?: Array<string>;
1991
+ };
1992
+ /**
1993
+ * Solana custodial wallet transaction data including input parameters and chain specific details
1994
+ */
1995
+ onChain: {
1996
+ transaction: string;
1997
+ lastValidBlockHeight?: number;
1998
+ txId?: string;
1999
+ };
2000
+ /**
2001
+ * Unique identifier for the transaction
2002
+ */
2003
+ id: string;
2004
+ /**
2005
+ * Current status of the transaction
2006
+ */
2007
+ status: 'awaiting-approval' | 'pending' | 'failed' | 'success';
2008
+ /**
2009
+ * Complete approval data including requirements, pending and submitted signatures
2010
+ */
2011
+ approvals?: {
2012
+ /**
2013
+ * List of pending signatures
2014
+ */
2015
+ pending: Array<{
2016
+ /**
2017
+ * The locator of the signer that's pending approval
2018
+ */
2019
+ signer: string;
2020
+ /**
2021
+ * The message that needs to be signed
2022
+ */
2023
+ message: string;
2024
+ }>;
2025
+ /**
2026
+ * Record of all submitted signatures
2027
+ */
2028
+ submitted: Array<{
2029
+ /**
2030
+ * The cryptographic signature
2031
+ */
2032
+ signature: string;
2033
+ /**
2034
+ * When the signature was submitted
2035
+ */
2036
+ submittedAt: number;
2037
+ /**
2038
+ * The locator of the signer who submitted this signature
2039
+ */
2040
+ signer: string;
2041
+ /**
2042
+ * The message that was signed
2043
+ */
2044
+ message: string;
2045
+ /**
2046
+ * Additional metadata about the signature submission
2047
+ */
2048
+ metadata?: {
2049
+ deviceInfo?: string;
2050
+ ipAddress?: string;
2051
+ userAgent?: string;
2052
+ };
2053
+ }>;
2054
+ /**
2055
+ * Number of required approvals for the transaction
2056
+ */
2057
+ required?: number;
2058
+ };
2059
+ /**
2060
+ * ISO timestamp when the transaction was created
2061
+ */
2062
+ createdAt: number;
2063
+ /**
2064
+ * ISO timestamp when the transaction reached finality
2065
+ */
2066
+ completedAt?: number;
2067
+ /**
2068
+ * Error message if the transaction fails after submission
2069
+ */
2070
+ error?: {
2071
+ reason: 'program_error';
2072
+ message: string;
2073
+ logs?: unknown;
2074
+ } | {
2075
+ reason: 'execution_reverted';
2076
+ message: string;
2077
+ revert?: {
2078
+ type: 'contract_call' | 'wallet_authorization' | 'wallet_deployment';
2079
+ reason: string;
2080
+ reasonData?: string;
2081
+ explorerLink?: string;
2082
+ simulationLink?: string;
2083
+ };
2084
+ };
2085
+ } | {
2086
+ /**
2087
+ * The type of wallet that created this transaction
2088
+ */
2089
+ walletType: 'evm-mpc-wallet';
2090
+ /**
2091
+ * EVM MPC wallet transaction parameters
2092
+ */
2093
+ params: {
2094
+ /**
2095
+ * The transaction call to execute
2096
+ */
2097
+ call: {
2098
+ /**
2099
+ * The recipient address for this transaction call
2100
+ */
2101
+ to: string;
2102
+ /**
2103
+ * The encoded calldata for this transaction
2104
+ */
2105
+ data: unknown;
2106
+ } | {
2107
+ /**
2108
+ * The recipient address for this transaction call
2109
+ */
2110
+ address: string;
2111
+ /**
2112
+ * The name of the function to call
2113
+ */
2114
+ functionName: string;
2115
+ /**
2116
+ * The ABI for the function to call
2117
+ */
2118
+ abi: Array<{
2119
+ type: 'error';
2120
+ inputs: Array<unknown>;
2121
+ name: string;
2122
+ } | {
2123
+ type: 'event';
2124
+ anonymous?: boolean;
2125
+ inputs: Array<unknown & {
2126
+ indexed?: boolean;
2127
+ }>;
2128
+ name: string;
2129
+ } | ({
2130
+ constant?: boolean;
2131
+ gas?: number;
2132
+ payable?: boolean;
2133
+ } & ({
2134
+ type: 'function';
2135
+ inputs: Array<unknown>;
2136
+ name: string;
2137
+ outputs: Array<unknown>;
2138
+ stateMutability: 'pure' | 'view' | 'nonpayable' | 'payable';
2139
+ } | {
2140
+ type: 'constructor';
2141
+ inputs: Array<unknown>;
2142
+ stateMutability: 'payable' | 'nonpayable';
2143
+ } | {
2144
+ type: 'fallback';
2145
+ inputs?: unknown;
2146
+ stateMutability: 'payable' | 'nonpayable';
2147
+ } | {
2148
+ type: 'receive';
2149
+ stateMutability: 'payable';
2150
+ }))>;
2151
+ /**
2152
+ * The arguments to pass to the function
2153
+ */
2154
+ args: Array<unknown>;
2155
+ };
2156
+ /**
2157
+ * The chain on which the transaction will be executed
2158
+ */
2159
+ chain: 'arbitrum-sepolia' | 'avalanche-fuji' | 'curtis' | 'barret-testnet' | 'base-goerli' | 'base-sepolia' | 'bsc-testnet' | 'chiliz-spicy-testnet' | 'ethereum-goerli' | 'ethereum-sepolia' | 'hypersonic-testnet' | 'lightlink-pegasus' | 'optimism-goerli' | 'optimism-sepolia' | 'polygon-amoy' | 'polygon-mumbai' | 'crossmint-private-testnet-ethereum' | 'crossmint-private-testnet-polygon' | 'rari-testnet' | 'scroll-sepolia' | 'sei-atlantic-2-testnet' | 'shape-sepolia' | 'skale-nebula-testnet' | 'soneium-minato-testnet' | 'space-testnet' | 'story-testnet' | 'verify-testnet' | 'viction-testnet' | 'xai-sepolia-testnet' | 'zkatana' | 'zkyoto' | 'zora-goerli' | 'zora-sepolia' | 'mode-sepolia' | 'zenchain-testnet' | 'ethereum' | 'polygon' | 'bsc' | 'optimism' | 'arbitrum' | 'base' | 'zora' | 'arbitrumnova' | 'astar-zkevm' | 'apechain' | 'apex' | 'boss' | 'lightlink' | 'skale-nebula' | 'sei-pacific-1' | 'chiliz' | 'avalanche' | 'xai' | 'shape' | 'rari' | 'scroll' | 'viction' | 'mode' | 'space' | 'soneium';
2160
+ };
2161
+ /**
2162
+ * EVM MPC wallet transaction data including input parameters and chain specific details
2163
+ */
2164
+ onChain: {
2165
+ call: {
2166
+ /**
2167
+ * The recipient address for this transaction call
2168
+ */
2169
+ to: string;
2170
+ /**
2171
+ * The encoded calldata for this transaction
2172
+ */
2173
+ data: unknown;
2174
+ };
2175
+ txId?: string;
2176
+ explorerLink?: string;
2177
+ };
2178
+ /**
2179
+ * Unique identifier for the transaction
2180
+ */
2181
+ id: string;
2182
+ /**
2183
+ * Current status of the transaction
2184
+ */
2185
+ status: 'awaiting-approval' | 'pending' | 'failed' | 'success';
2186
+ /**
2187
+ * Complete approval data including requirements, pending and submitted signatures
2188
+ */
2189
+ approvals?: {
2190
+ /**
2191
+ * List of pending signatures
2192
+ */
2193
+ pending: Array<{
2194
+ /**
2195
+ * The locator of the signer that's pending approval
2196
+ */
2197
+ signer: string;
2198
+ /**
2199
+ * The message that needs to be signed
2200
+ */
2201
+ message: string;
2202
+ }>;
2203
+ /**
2204
+ * Record of all submitted signatures
2205
+ */
2206
+ submitted: Array<{
2207
+ /**
2208
+ * The cryptographic signature
2209
+ */
2210
+ signature: string;
2211
+ /**
2212
+ * When the signature was submitted
2213
+ */
2214
+ submittedAt: number;
2215
+ /**
2216
+ * The locator of the signer who submitted this signature
2217
+ */
2218
+ signer: string;
2219
+ /**
2220
+ * The message that was signed
2221
+ */
2222
+ message: string;
2223
+ /**
2224
+ * Additional metadata about the signature submission
2225
+ */
2226
+ metadata?: {
2227
+ deviceInfo?: string;
2228
+ ipAddress?: string;
2229
+ userAgent?: string;
2230
+ };
2231
+ }>;
2232
+ /**
2233
+ * Number of required approvals for the transaction
2234
+ */
2235
+ required?: number;
2236
+ };
2237
+ /**
2238
+ * ISO timestamp when the transaction was created
2239
+ */
2240
+ createdAt: number;
2241
+ /**
2242
+ * ISO timestamp when the transaction reached finality
2243
+ */
2244
+ completedAt?: number;
2245
+ /**
2246
+ * Error message if the transaction fails after submission
2247
+ */
2248
+ error?: {
2249
+ reason: 'program_error';
2250
+ message: string;
2251
+ logs?: unknown;
2252
+ } | {
2253
+ reason: 'execution_reverted';
2254
+ message: string;
2255
+ revert?: {
2256
+ type: 'contract_call' | 'wallet_authorization' | 'wallet_deployment';
2257
+ reason: string;
2258
+ reasonData?: string;
2259
+ explorerLink?: string;
2260
+ simulationLink?: string;
2261
+ };
2262
+ };
2263
+ } | {
2264
+ /**
2265
+ * The type of wallet that created this transaction
2266
+ */
2267
+ walletType: 'solana-smart-wallet';
2268
+ /**
2269
+ * Solana smart wallet transaction parameters
2270
+ */
2271
+ params: {
2272
+ /**
2273
+ * Base58 encoded serialized Solana transaction
2274
+ */
2275
+ transaction: string;
2276
+ /**
2277
+ * Optional array of additional signers required for the transaction
2278
+ */
2279
+ requiredSigners?: Array<string>;
2280
+ /**
2281
+ * The locator for the signer who will submit this transaction. Defaults to the admin signer.
2282
+ */
2283
+ signer?: string;
2284
+ };
2285
+ /**
2286
+ * Solana smart wallet transaction data including input parameters and chain specific details
2287
+ */
2288
+ onChain: {
2289
+ transaction: string;
2290
+ lastValidBlockHeight?: number;
2291
+ txId?: string;
2292
+ };
2293
+ /**
2294
+ * Unique identifier for the transaction
2295
+ */
2296
+ id: string;
2297
+ /**
2298
+ * Current status of the transaction
2299
+ */
2300
+ status: 'awaiting-approval' | 'pending' | 'failed' | 'success';
2301
+ /**
2302
+ * Complete approval data including requirements, pending and submitted signatures
2303
+ */
2304
+ approvals?: {
2305
+ /**
2306
+ * List of pending signatures
2307
+ */
2308
+ pending: Array<{
2309
+ /**
2310
+ * The locator of the signer that's pending approval
2311
+ */
2312
+ signer: string;
2313
+ /**
2314
+ * The message that needs to be signed
2315
+ */
2316
+ message: string;
2317
+ }>;
2318
+ /**
2319
+ * Record of all submitted signatures
2320
+ */
2321
+ submitted: Array<{
2322
+ /**
2323
+ * The cryptographic signature
2324
+ */
2325
+ signature: string;
2326
+ /**
2327
+ * When the signature was submitted
2328
+ */
2329
+ submittedAt: number;
2330
+ /**
2331
+ * The locator of the signer who submitted this signature
2332
+ */
2333
+ signer: string;
2334
+ /**
2335
+ * The message that was signed
2336
+ */
2337
+ message: string;
2338
+ /**
2339
+ * Additional metadata about the signature submission
2340
+ */
2341
+ metadata?: {
2342
+ deviceInfo?: string;
2343
+ ipAddress?: string;
2344
+ userAgent?: string;
2345
+ };
2346
+ }>;
2347
+ /**
2348
+ * Number of required approvals for the transaction
2349
+ */
2350
+ required?: number;
2351
+ };
2352
+ /**
2353
+ * ISO timestamp when the transaction was created
2354
+ */
2355
+ createdAt: number;
2356
+ /**
2357
+ * ISO timestamp when the transaction reached finality
2358
+ */
2359
+ completedAt?: number;
2360
+ /**
2361
+ * Error message if the transaction fails after submission
2362
+ */
2363
+ error?: {
2364
+ reason: 'program_error';
2365
+ message: string;
2366
+ logs?: unknown;
2367
+ } | {
2368
+ reason: 'execution_reverted';
2369
+ message: string;
2370
+ revert?: {
2371
+ type: 'contract_call' | 'wallet_authorization' | 'wallet_deployment';
2372
+ reason: string;
2373
+ reasonData?: string;
2374
+ explorerLink?: string;
2375
+ simulationLink?: string;
2376
+ };
2377
+ };
2378
+ }>;
2379
+ };
2380
+ /**
2381
+ * Wallet error
2382
+ */
2383
+ type WalletV1Alpha2ErrorDto = {
2384
+ error: true;
2385
+ /**
2386
+ * Error message
2387
+ */
2388
+ message: string;
2389
+ };
2390
+ /**
2391
+ * Complete wallet configuration including type-specific settings
2392
+ */
2393
+ type WalletV1Alpha2ResponseDto = {
2394
+ /**
2395
+ * The type of wallet configuration
2396
+ */
2397
+ type: 'evm-smart-wallet';
2398
+ /**
2399
+ * EVM smart wallet type specific configuration settings
2400
+ */
2401
+ config: {
2402
+ adminSigner: {
2403
+ /**
2404
+ * Identifier for EVM keypair signer type
2405
+ */
2406
+ type: 'evm-keypair';
2407
+ /**
2408
+ * The Ethereum address of the external signer
2409
+ */
2410
+ address: string;
2411
+ /**
2412
+ * The locator of the signer
2413
+ */
2414
+ locator: string;
2415
+ } | {
2416
+ /**
2417
+ * Identifier for EVM Fireblocks custodial signer type
2418
+ */
2419
+ type: 'evm-fireblocks-custodial';
2420
+ /**
2421
+ * The Ethereum address of the custodial signer
2422
+ */
2423
+ address: string;
2424
+ /**
2425
+ * The locator of the signer
2426
+ */
2427
+ locator: string;
2428
+ } | {
2429
+ /**
2430
+ * Identifier for the Passkey signer type
2431
+ */
2432
+ type: 'evm-passkey';
2433
+ /**
2434
+ * Credential ID from the WebAuthn registration response
2435
+ */
2436
+ id: string;
2437
+ /**
2438
+ * Human-readable name for the passkey
2439
+ */
2440
+ name: string;
2441
+ /**
2442
+ * The public key coordinates from the WebAuthn credential
2443
+ */
2444
+ publicKey: {
2445
+ /**
2446
+ * X coordinate of the public key as a decimal string
2447
+ */
2448
+ x: string;
2449
+ /**
2450
+ * Y coordinate of the public key as a decimal string
2451
+ */
2452
+ y: string;
2453
+ };
2454
+ /**
2455
+ * ERC-7579 webAuthn validator contract version
2456
+ */
2457
+ validatorContractVersion: string;
2458
+ /**
2459
+ * Unique identifier for locating this passkey signer
2460
+ */
2461
+ locator: string;
2462
+ };
2463
+ /**
2464
+ * Optional array of additional signers for the wallet
2465
+ */
2466
+ delegatedSigners?: Array<{
2467
+ /**
2468
+ * Identifier for EVM keypair signer type
2469
+ */
2470
+ type: 'evm-keypair';
2471
+ /**
2472
+ * The Ethereum address of the external signer
2473
+ */
2474
+ address: string;
2475
+ /**
2476
+ * The locator of the signer
2477
+ */
2478
+ locator: string;
2479
+ } | {
2480
+ /**
2481
+ * Identifier for EVM Fireblocks custodial signer type
2482
+ */
2483
+ type: 'evm-fireblocks-custodial';
2484
+ /**
2485
+ * The Ethereum address of the custodial signer
2486
+ */
2487
+ address: string;
2488
+ /**
2489
+ * The locator of the signer
2490
+ */
2491
+ locator: string;
2492
+ } | {
2493
+ /**
2494
+ * Identifier for the Passkey signer type
2495
+ */
2496
+ type: 'evm-passkey';
2497
+ /**
2498
+ * Credential ID from the WebAuthn registration response
2499
+ */
2500
+ id: string;
2501
+ /**
2502
+ * Human-readable name for the passkey
2503
+ */
2504
+ name: string;
2505
+ /**
2506
+ * The public key coordinates from the WebAuthn credential
2507
+ */
2508
+ publicKey: {
2509
+ /**
2510
+ * X coordinate of the public key as a decimal string
2511
+ */
2512
+ x: string;
2513
+ /**
2514
+ * Y coordinate of the public key as a decimal string
2515
+ */
2516
+ y: string;
2517
+ };
2518
+ /**
2519
+ * ERC-7579 webAuthn validator contract version
2520
+ */
2521
+ validatorContractVersion: string;
2522
+ /**
2523
+ * Unique identifier for locating this passkey signer
2524
+ */
2525
+ locator: string;
2526
+ } | {
2527
+ /**
2528
+ * Specifies the type of EVM signer being used, describing the method of key management and transaction signing. `evm-keypair` indicates a signer using a locally managed keypair, suitable for non-custodial wallets. `evm-fireblocks-custodial` refers to a signer managed by Fireblocks, a custodial service provider.
2529
+ */
2530
+ type: 'evm-keypair' | 'evm-fireblocks-custodial';
2531
+ /**
2532
+ * The Ethereum address of the signer
2533
+ */
2534
+ address: string;
2535
+ /**
2536
+ * The locator of the signer
2537
+ */
2538
+ locator: string;
2539
+ /**
2540
+ * The expiry date of the signer in ISO 8601 format
2541
+ */
2542
+ expiresAt?: number;
2543
+ /**
2544
+ * The permissions of the signer following ERC-7715
2545
+ */
2546
+ permissions?: Array<{
2547
+ type: 'native-token-transfer';
2548
+ data: {
2549
+ allowance: string;
2550
+ };
2551
+ } | {
2552
+ type: 'erc20-token-transfer';
2553
+ data: {
2554
+ /**
2555
+ * The address of the smart contract that can be interacted with
2556
+ */
2557
+ address: string;
2558
+ allowance: string;
2559
+ };
2560
+ } | {
2561
+ type: 'erc721-token-transfer';
2562
+ data: {
2563
+ /**
2564
+ * The address of the smart contract that can be interacted with
2565
+ */
2566
+ address: string;
2567
+ /**
2568
+ * The token IDs that can be transferred
2569
+ */
2570
+ tokenIds: Array<string>;
2571
+ };
2572
+ } | {
2573
+ type: 'erc1155-token-transfer';
2574
+ data: {
2575
+ /**
2576
+ * The address of the smart contract that can be interacted with
2577
+ */
2578
+ address: string;
2579
+ /**
2580
+ * The token IDs and allowances that can be transferred
2581
+ */
2582
+ allowances: {
2583
+ [key: string]: string;
2584
+ };
2585
+ };
2586
+ } | {
2587
+ type: 'gas-limit';
2588
+ data: {
2589
+ limit: string;
2590
+ enforcePaymaster?: boolean;
2591
+ allowedPaymaster?: string;
2592
+ };
2593
+ } | {
2594
+ type: 'call-limit';
2595
+ data: {
2596
+ count: number;
2597
+ };
2598
+ } | {
2599
+ type: 'rate-limit';
2600
+ data: {
2601
+ count: number;
2602
+ /**
2603
+ * Time window in seconds
2604
+ */
2605
+ interval: number;
2606
+ };
2607
+ }>;
2608
+ }>;
2609
+ };
2610
+ /**
2611
+ * The onchain address of the wallet
2612
+ */
2613
+ address: string;
2614
+ /**
2615
+ * The user that is linked to this wallet in format <locatorType>:<value>
2616
+ */
2617
+ linkedUser?: string;
2618
+ /**
2619
+ * ISO timestamp of when the wallet was created
2620
+ */
2621
+ createdAt?: number;
2622
+ } | {
2623
+ /**
2624
+ * The type of wallet configuration
2625
+ */
2626
+ type: 'solana-smart-wallet';
2627
+ /**
2628
+ * Solana Smart wallet type specific configuration settings
2629
+ */
2630
+ config: {
2631
+ adminSigner: {
2632
+ /**
2633
+ * Type identifier for Solana keypair signers
2634
+ */
2635
+ type: 'solana-keypair';
2636
+ /**
2637
+ * The Solana address of the signer
2638
+ */
2639
+ address: string;
2640
+ /**
2641
+ * The locator of the signer
2642
+ */
2643
+ locator: string;
2644
+ } | {
2645
+ /**
2646
+ * Type identifier for Solana custodial signers
2647
+ */
2648
+ type: 'solana-fireblocks-custodial';
2649
+ /**
2650
+ * The Solana address of the custodial signer
2651
+ */
2652
+ address: string;
2653
+ /**
2654
+ * The locator of the signer
2655
+ */
2656
+ locator: string;
2657
+ };
2658
+ };
2659
+ /**
2660
+ * The onchain address of the wallet
2661
+ */
2662
+ address: string;
2663
+ /**
2664
+ * The user that is linked to this wallet in format <locatorType>:<value>
2665
+ */
2666
+ linkedUser?: string;
2667
+ /**
2668
+ * ISO timestamp of when the wallet was created
2669
+ */
2670
+ createdAt?: number;
2671
+ } | {
2672
+ /**
2673
+ * The type of wallet configuration
2674
+ */
2675
+ type: 'solana-mpc-wallet';
2676
+ /**
2677
+ * Solana MPC wallet type specific configuration settings
2678
+ */
2679
+ config?: unknown;
2680
+ /**
2681
+ * The onchain address of the wallet
2682
+ */
2683
+ address: string;
2684
+ /**
2685
+ * The user that is linked to this wallet in format <locatorType>:<value>
2686
+ */
2687
+ linkedUser?: string;
2688
+ /**
2689
+ * ISO timestamp of when the wallet was created
2690
+ */
2691
+ createdAt?: number;
2692
+ } | {
2693
+ /**
2694
+ * The type of wallet configuration
2695
+ */
2696
+ type: 'aptos-mpc-wallet';
2697
+ /**
2698
+ * Aptos MPC wallet type specific configuration settings
2699
+ */
2700
+ config?: unknown;
2701
+ /**
2702
+ * The onchain address of the wallet
2703
+ */
2704
+ address: string;
2705
+ /**
2706
+ * The user that is linked to this wallet in format <locatorType>:<value>
2707
+ */
2708
+ linkedUser?: string;
2709
+ /**
2710
+ * ISO timestamp of when the wallet was created
2711
+ */
2712
+ createdAt?: number;
2713
+ } | {
2714
+ /**
2715
+ * The type of wallet configuration
2716
+ */
2717
+ type: 'cardano-mpc-wallet';
2718
+ /**
2719
+ * Cardano MPC wallet type specific configuration settings
2720
+ */
2721
+ config?: unknown;
2722
+ /**
2723
+ * The onchain address of the wallet
2724
+ */
2725
+ address: string;
2726
+ /**
2727
+ * The user that is linked to this wallet in format <locatorType>:<value>
2728
+ */
2729
+ linkedUser?: string;
2730
+ /**
2731
+ * ISO timestamp of when the wallet was created
2732
+ */
2733
+ createdAt?: number;
2734
+ } | {
2735
+ /**
2736
+ * The type of wallet configuration
2737
+ */
2738
+ type: 'sui-mpc-wallet';
2739
+ /**
2740
+ * Sui MPC wallet type specific configuration settings
2741
+ */
2742
+ config?: unknown;
2743
+ /**
2744
+ * The onchain address of the wallet
2745
+ */
2746
+ address: string;
2747
+ /**
2748
+ * The user that is linked to this wallet in format <locatorType>:<value>
2749
+ */
2750
+ linkedUser?: string;
2751
+ /**
2752
+ * ISO timestamp of when the wallet was created
2753
+ */
2754
+ createdAt?: number;
2755
+ } | {
2756
+ /**
2757
+ * The type of wallet configuration
2758
+ */
2759
+ type: 'evm-mpc-wallet';
2760
+ /**
2761
+ * The onchain address of the wallet
2762
+ */
2763
+ address: string;
2764
+ /**
2765
+ * The user that is linked to this wallet in format <locatorType>:<value>
2766
+ */
2767
+ linkedUser?: string;
2768
+ /**
2769
+ * ISO timestamp of when the wallet was created
2770
+ */
2771
+ createdAt?: number;
2772
+ };
2773
+ /**
2774
+ * Wallet transaction error
2775
+ */
2776
+ type WalletV1Alpha2TransactionErrorDto = {
2777
+ /**
2778
+ * Error
2779
+ */
2780
+ error: {
2781
+ reason: 'program_error';
2782
+ message: string;
2783
+ logs?: unknown;
2784
+ } | {
2785
+ reason: 'execution_reverted';
2786
+ message: string;
2787
+ revert?: {
2788
+ type: 'contract_call' | 'wallet_authorization' | 'wallet_deployment';
2789
+ reason: string;
2790
+ reasonData?: string;
2791
+ explorerLink?: string;
2792
+ simulationLink?: string;
2793
+ };
2794
+ };
2795
+ /**
2796
+ * Error message
2797
+ */
2798
+ message: string;
2799
+ };
2800
+ /**
2801
+ * EVM
2802
+ */
2803
+ type Nftevm = Array<{
2804
+ /**
2805
+ * The blockchain used in the request.
2806
+ */
2807
+ chain?: string;
2808
+ /**
2809
+ * The token contract address
2810
+ */
2811
+ contractAddress?: string;
2812
+ /**
2813
+ * The numeric tokenId for the specified NFT
2814
+ */
2815
+ tokenId?: string;
2816
+ metadata?: {
2817
+ attributes?: Array<{
2818
+ trait_type?: string;
2819
+ value?: string;
2820
+ display_type?: string | null;
2821
+ }>;
2822
+ collection?: {
2823
+ [key: string]: unknown;
2824
+ };
2825
+ description?: string;
2826
+ /**
2827
+ * URL that represents the image for the NFT
2828
+ */
2829
+ image?: string;
2830
+ /**
2831
+ * Optional URL representing a video or other multimedia file
2832
+ */
2833
+ animation_url?: string | null;
2834
+ name?: string;
2835
+ };
2836
+ /**
2837
+ * The address of the NFT on the blockchain
2838
+ */
2839
+ locator?: string;
2840
+ /**
2841
+ * The type of contract this token is from (ERC-721, ERC-1155 or ERC-5643)
2842
+ */
2843
+ tokenStandard?: string;
2844
+ subscription?: {
2845
+ /**
2846
+ * The date and time when the subscription expires
2847
+ */
2848
+ expiresAt?: string;
2849
+ };
2850
+ }>;
2851
+ /**
2852
+ * Solana
2853
+ */
2854
+ type Nftsol = Array<{
2855
+ /**
2856
+ * The blockchain used in the request, `solana` in this case.
2857
+ */
2858
+ chain?: string;
2859
+ /**
2860
+ * The unique identifier of this NFT on Solana
2861
+ */
2862
+ mintHash?: string;
2863
+ metadata?: {
2864
+ name?: string;
2865
+ description?: string;
2866
+ /**
2867
+ * A URL that represents the image for the NFT
2868
+ */
2869
+ image?: string;
2870
+ attributes?: Array<{
2871
+ value?: string | number | boolean | {
2872
+ [key: string]: unknown;
2873
+ };
2874
+ trait_type?: string;
2875
+ }>;
2876
+ };
2877
+ /**
2878
+ * The address of the NFT on the blockchain
2879
+ */
2880
+ locator?: string;
2881
+ }>;
2882
+ type _Error = {
2883
+ error?: string;
2884
+ };
2885
+ type WalletsV1ControllerSubmitMeApprovals4Data = {
2886
+ body: SubmitApprovalDto;
2887
+ headers: {
2888
+ /**
2889
+ * API key required for authentication
2890
+ */
2891
+ 'X-API-KEY': string;
2892
+ };
2893
+ path: {
2894
+ walletType: string;
2895
+ transactionId: string;
2896
+ };
2897
+ query?: never;
2898
+ url: '/2022-06-09/wallets/me{walletType}/transactions/{transactionId}/approvals';
2899
+ };
2900
+ type WalletsV1ControllerSubmitMeApprovals4Errors = {
2901
+ /**
2902
+ * Returns an error if the signer is not valid
2903
+ */
2904
+ 400: WalletV1Alpha2ErrorDto;
2905
+ /**
2906
+ * Returns an error if the wallet or transaction is not found
2907
+ */
2908
+ 404: WalletV1Alpha2ErrorDto;
2909
+ /**
2910
+ * Returns an error if the signature for signer was already submitted
2911
+ */
2912
+ 409: WalletV1Alpha2ErrorDto;
2913
+ /**
2914
+ * Returns an error if the transaction already has the required number of approvals
2915
+ */
2916
+ 422: WalletV1Alpha2ErrorDto;
2917
+ };
2918
+ type WalletsV1ControllerSubmitMeApprovals4Error = WalletsV1ControllerSubmitMeApprovals4Errors[keyof WalletsV1ControllerSubmitMeApprovals4Errors];
2919
+ type WalletsV1ControllerSubmitMeApprovals4Responses = {
2920
+ /**
2921
+ * The approval has successfully been submitted to the transaction.
2922
+ */
2923
+ 201: WalletsV1Alpha2TransactionResponseDto;
2924
+ };
2925
+ type WalletsV1ControllerSubmitMeApprovals4Response = WalletsV1ControllerSubmitMeApprovals4Responses[keyof WalletsV1ControllerSubmitMeApprovals4Responses];
2926
+ type WalletsV1ControllerGetMeTransaction4Data = {
2927
+ body?: never;
2928
+ headers: {
2929
+ /**
2930
+ * API key required for authentication
2931
+ */
2932
+ 'X-API-KEY': string;
2933
+ };
2934
+ path: {
2935
+ walletType: string;
2936
+ transactionId: string;
2937
+ };
2938
+ query?: never;
2939
+ url: '/2022-06-09/wallets/me{walletType}/transactions/{transactionId}';
2940
+ };
2941
+ type WalletsV1ControllerGetMeTransaction4Errors = {
2942
+ /**
2943
+ * Returns an error if the wallet or transaction is not found
2944
+ */
2945
+ 404: WalletV1Alpha2ErrorDto;
2946
+ };
2947
+ type WalletsV1ControllerGetMeTransaction4Error = WalletsV1ControllerGetMeTransaction4Errors[keyof WalletsV1ControllerGetMeTransaction4Errors];
2948
+ type WalletsV1ControllerGetMeTransaction4Responses = {
2949
+ /**
2950
+ * The transaction has been successfully retrieved.
2951
+ */
2952
+ 200: WalletsV1Alpha2TransactionResponseDto;
2953
+ };
2954
+ type WalletsV1ControllerGetMeTransaction4Response = WalletsV1ControllerGetMeTransaction4Responses[keyof WalletsV1ControllerGetMeTransaction4Responses];
2955
+ type WalletsV1ControllerCreateMeTransaction4Data = {
2956
+ body: CreateTransactionDto;
2957
+ headers: {
2958
+ /**
2959
+ * API key required for authentication
2960
+ */
2961
+ 'X-API-KEY': string;
2962
+ 'x-idempotency-key': string;
2963
+ };
2964
+ path: {
2965
+ walletType: string;
2966
+ };
2967
+ query?: never;
2968
+ url: '/2022-06-09/wallets/me{walletType}/transactions';
2969
+ };
2970
+ type WalletsV1ControllerCreateMeTransaction4Errors = {
2971
+ /**
2972
+ * Returns an error if the transaction or the provided signer is not valid
2973
+ */
2974
+ 400: WalletV1Alpha2ErrorDto;
2975
+ /**
2976
+ * Returns an error if a wallet with the specified type is not found
2977
+ */
2978
+ 404: WalletV1Alpha2ErrorDto;
2979
+ /**
2980
+ * Returns an error if the transaction fails during simulation
2981
+ */
2982
+ 422: WalletV1Alpha2TransactionErrorDto;
2983
+ };
2984
+ type WalletsV1ControllerCreateMeTransaction4Error = WalletsV1ControllerCreateMeTransaction4Errors[keyof WalletsV1ControllerCreateMeTransaction4Errors];
2985
+ type WalletsV1ControllerCreateMeTransaction4Responses = {
2986
+ /**
2987
+ * The transaction has been successfully created.
2988
+ */
2989
+ 201: WalletsV1Alpha2TransactionResponseDto;
2990
+ };
2991
+ type WalletsV1ControllerCreateMeTransaction4Response = WalletsV1ControllerCreateMeTransaction4Responses[keyof WalletsV1ControllerCreateMeTransaction4Responses];
2992
+ type WalletsV1ControllerSubmitMeSignatureApprovals4Data = {
2993
+ body: SubmitApprovalDto;
2994
+ headers: {
2995
+ /**
2996
+ * API key required for authentication
2997
+ */
2998
+ 'X-API-KEY': string;
2999
+ };
3000
+ path: {
3001
+ walletType: string;
3002
+ signatureId: string;
3003
+ };
3004
+ query?: never;
3005
+ url: '/2022-06-09/wallets/me{walletType}/signatures/{signatureId}/approvals';
3006
+ };
3007
+ type WalletsV1ControllerSubmitMeSignatureApprovals4Errors = {
3008
+ /**
3009
+ * Returns an error if the signature is not valid
3010
+ */
3011
+ 400: WalletV1Alpha2ErrorDto;
3012
+ /**
3013
+ * Returns an error if the wallet or signature not found
3014
+ */
3015
+ 404: WalletV1Alpha2ErrorDto;
3016
+ };
3017
+ type WalletsV1ControllerSubmitMeSignatureApprovals4Error = WalletsV1ControllerSubmitMeSignatureApprovals4Errors[keyof WalletsV1ControllerSubmitMeSignatureApprovals4Errors];
3018
+ type WalletsV1ControllerSubmitMeSignatureApprovals4Responses = {
3019
+ /**
3020
+ * The signature has been successfully approved.
3021
+ */
3022
+ 201: WalletsV1Alpha2SignatureResponseDto;
3023
+ };
3024
+ type WalletsV1ControllerSubmitMeSignatureApprovals4Response = WalletsV1ControllerSubmitMeSignatureApprovals4Responses[keyof WalletsV1ControllerSubmitMeSignatureApprovals4Responses];
3025
+ type WalletsV1ControllerGetMeSignature4Data = {
3026
+ body?: never;
3027
+ headers: {
3028
+ /**
3029
+ * API key required for authentication
3030
+ */
3031
+ 'X-API-KEY': string;
3032
+ };
3033
+ path: {
3034
+ walletType: string;
3035
+ signatureId: string;
3036
+ };
3037
+ query?: never;
3038
+ url: '/2022-06-09/wallets/me{walletType}/signatures/{signatureId}';
3039
+ };
3040
+ type WalletsV1ControllerGetMeSignature4Errors = {
3041
+ /**
3042
+ * Returns an error if the wallet or signature not found
3043
+ */
3044
+ 404: WalletV1Alpha2ErrorDto;
3045
+ };
3046
+ type WalletsV1ControllerGetMeSignature4Error = WalletsV1ControllerGetMeSignature4Errors[keyof WalletsV1ControllerGetMeSignature4Errors];
3047
+ type WalletsV1ControllerGetMeSignature4Responses = {
3048
+ /**
3049
+ * The signature has been successfully retrieved.
3050
+ */
3051
+ 200: WalletsV1Alpha2SignatureResponseDto;
3052
+ };
3053
+ type WalletsV1ControllerGetMeSignature4Response = WalletsV1ControllerGetMeSignature4Responses[keyof WalletsV1ControllerGetMeSignature4Responses];
3054
+ type WalletsV1ControllerCreateMeSignatureRequest4Data = {
3055
+ body: CreateSignatureRequestDto;
3056
+ headers: {
3057
+ /**
3058
+ * API key required for authentication
3059
+ */
3060
+ 'X-API-KEY': string;
3061
+ /**
3062
+ * Unique key to prevent duplicate signature creation
3063
+ */
3064
+ 'x-idempotency-key'?: string;
3065
+ };
3066
+ path: {
3067
+ walletType: string;
3068
+ };
3069
+ query?: never;
3070
+ url: '/2022-06-09/wallets/me{walletType}/signatures';
3071
+ };
3072
+ type WalletsV1ControllerCreateMeSignatureRequest4Errors = {
3073
+ /**
3074
+ * Returns an error if the signature type is not supported
3075
+ */
3076
+ 400: WalletV1Alpha2ErrorDto;
3077
+ /**
3078
+ * Returns an error if a wallet with the specified locator not found
3079
+ */
3080
+ 404: WalletV1Alpha2ErrorDto;
3081
+ };
3082
+ type WalletsV1ControllerCreateMeSignatureRequest4Error = WalletsV1ControllerCreateMeSignatureRequest4Errors[keyof WalletsV1ControllerCreateMeSignatureRequest4Errors];
3083
+ type WalletsV1ControllerCreateMeSignatureRequest4Responses = {
3084
+ /**
3085
+ * The signature has been successfully created.
3086
+ */
3087
+ 201: WalletsV1Alpha2SignatureResponseDto;
3088
+ };
3089
+ type WalletsV1ControllerCreateMeSignatureRequest4Response = WalletsV1ControllerCreateMeSignatureRequest4Responses[keyof WalletsV1ControllerCreateMeSignatureRequest4Responses];
3090
+ type WalletsV1ControllerGetMeWallet4Data = {
3091
+ body?: never;
3092
+ headers: {
3093
+ /**
3094
+ * API key required for authentication
3095
+ */
3096
+ 'X-API-KEY': string;
3097
+ };
3098
+ path: {
3099
+ walletType: string;
3100
+ };
3101
+ query?: never;
3102
+ url: '/2022-06-09/wallets/me{walletType}';
3103
+ };
3104
+ type WalletsV1ControllerGetMeWallet4Responses = {
3105
+ /**
3106
+ * The record has been successfully retreived.
3107
+ */
3108
+ 200: WalletV1Alpha2ResponseDto;
3109
+ };
3110
+ type WalletsV1ControllerGetMeWallet4Response = WalletsV1ControllerGetMeWallet4Responses[keyof WalletsV1ControllerGetMeWallet4Responses];
3111
+ type WalletsV1ControllerCreateMeWallet4Data = {
3112
+ body: CreateWalletDto;
3113
+ headers: {
3114
+ /**
3115
+ * API key required for authentication
3116
+ */
3117
+ 'X-API-KEY': string;
3118
+ };
3119
+ path?: never;
3120
+ query?: never;
3121
+ url: '/2022-06-09/wallets/me';
3122
+ };
3123
+ type WalletsV1ControllerCreateMeWallet4Responses = {
3124
+ /**
3125
+ * Returns an existing wallet (200) if one already exists for this user, or creates and returns a new wallet (201).
3126
+ */
3127
+ 201: WalletV1Alpha2ResponseDto;
3128
+ };
3129
+ type WalletsV1ControllerCreateMeWallet4Response = WalletsV1ControllerCreateMeWallet4Responses[keyof WalletsV1ControllerCreateMeWallet4Responses];
3130
+ type WalletsV1ControllerSubmitApprovals4Data = {
3131
+ body: SubmitApprovalDto;
3132
+ headers: {
3133
+ /**
3134
+ * API key required for authentication
3135
+ */
3136
+ 'X-API-KEY': string;
3137
+ };
3138
+ path: {
3139
+ /**
3140
+ * A wallet locator can be of the format:
3141
+ * - `<walletAddress>`
3142
+ * - `email:<email>:<walletType>`
3143
+ * - `userId:<userId>:<walletType>`
3144
+ * - `userId:<userId>:<walletType>` (white label user example)
3145
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3146
+ * - `twitter:<handle>:<walletType>`
3147
+ * - `x:<handle>:<walletType>`
3148
+ */
3149
+ walletLocator: string;
3150
+ transactionId: string;
3151
+ };
3152
+ query?: never;
3153
+ url: '/2022-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals';
3154
+ };
3155
+ type WalletsV1ControllerSubmitApprovals4Errors = {
3156
+ /**
3157
+ * Returns an error if the signer is not valid
3158
+ */
3159
+ 400: WalletV1Alpha2ErrorDto;
3160
+ /**
3161
+ * Returns an error if the wallet or transaction is not found
3162
+ */
3163
+ 404: WalletV1Alpha2ErrorDto;
3164
+ /**
3165
+ * Returns an error if the signature for signer was already submitted
3166
+ */
3167
+ 409: WalletV1Alpha2ErrorDto;
3168
+ /**
3169
+ * Returns an error if the transaction already has the required number of approvals
3170
+ */
3171
+ 422: WalletV1Alpha2ErrorDto;
3172
+ };
3173
+ type WalletsV1ControllerSubmitApprovals4Error = WalletsV1ControllerSubmitApprovals4Errors[keyof WalletsV1ControllerSubmitApprovals4Errors];
3174
+ type WalletsV1ControllerSubmitApprovals4Responses = {
3175
+ /**
3176
+ * The approval has successfully been submitted to the transaction.
3177
+ */
3178
+ 201: WalletsV1Alpha2TransactionResponseDto;
3179
+ };
3180
+ type WalletsV1ControllerSubmitApprovals4Response = WalletsV1ControllerSubmitApprovals4Responses[keyof WalletsV1ControllerSubmitApprovals4Responses];
3181
+ type WalletsV1ControllerGetTransaction4Data = {
3182
+ body?: never;
3183
+ headers: {
3184
+ /**
3185
+ * API key required for authentication
3186
+ */
3187
+ 'X-API-KEY': string;
3188
+ };
3189
+ path: {
3190
+ /**
3191
+ * A wallet locator can be of the format:
3192
+ * - `<walletAddress>`
3193
+ * - `email:<email>:<walletType>`
3194
+ * - `userId:<userId>:<walletType>`
3195
+ * - `userId:<userId>:<walletType>` (white label user example)
3196
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3197
+ * - `twitter:<handle>:<walletType>`
3198
+ * - `x:<handle>:<walletType>`
3199
+ */
3200
+ walletLocator: string;
3201
+ transactionId: string;
3202
+ };
3203
+ query?: never;
3204
+ url: '/2022-06-09/wallets/{walletLocator}/transactions/{transactionId}';
3205
+ };
3206
+ type WalletsV1ControllerGetTransaction4Errors = {
3207
+ /**
3208
+ * Returns an error if the wallet or transaction is not found
3209
+ */
3210
+ 404: WalletV1Alpha2ErrorDto;
3211
+ };
3212
+ type WalletsV1ControllerGetTransaction4Error = WalletsV1ControllerGetTransaction4Errors[keyof WalletsV1ControllerGetTransaction4Errors];
3213
+ type WalletsV1ControllerGetTransaction4Responses = {
3214
+ /**
3215
+ * The transaction has been successfully retrieved.
3216
+ */
3217
+ 200: WalletsV1Alpha2TransactionResponseDto;
3218
+ };
3219
+ type WalletsV1ControllerGetTransaction4Response = WalletsV1ControllerGetTransaction4Responses[keyof WalletsV1ControllerGetTransaction4Responses];
3220
+ type WalletsV1ControllerGetTransactionsWithoutChain4Data = {
3221
+ body?: never;
3222
+ headers: {
3223
+ /**
3224
+ * API key required for authentication
3225
+ */
3226
+ 'X-API-KEY': string;
3227
+ };
3228
+ path: {
3229
+ /**
3230
+ * A wallet locator can be of the format:
3231
+ * - `<walletAddress>`
3232
+ * - `email:<email>:<walletType>`
3233
+ * - `userId:<userId>:<walletType>`
3234
+ * - `userId:<userId>:<walletType>` (white label user example)
3235
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3236
+ * - `twitter:<handle>:<walletType>`
3237
+ * - `x:<handle>:<walletType>`
3238
+ */
3239
+ walletLocator: string;
3240
+ };
3241
+ query?: {
3242
+ page?: string;
3243
+ perPage?: string;
3244
+ };
3245
+ url: '/2022-06-09/wallets/{walletLocator}/transactions';
3246
+ };
3247
+ type WalletsV1ControllerGetTransactionsWithoutChain4Errors = {
3248
+ /**
3249
+ * Returns an error if a wallet with the specified locator not found
3250
+ */
3251
+ 404: WalletV1Alpha2ErrorDto;
3252
+ };
3253
+ type WalletsV1ControllerGetTransactionsWithoutChain4Error = WalletsV1ControllerGetTransactionsWithoutChain4Errors[keyof WalletsV1ControllerGetTransactionsWithoutChain4Errors];
3254
+ type WalletsV1ControllerGetTransactionsWithoutChain4Responses = {
3255
+ /**
3256
+ * The transactions have been successfully retrieved.
3257
+ */
3258
+ 200: WalletsV1Alpha2TransactionsResponseDto;
3259
+ };
3260
+ type WalletsV1ControllerGetTransactionsWithoutChain4Response = WalletsV1ControllerGetTransactionsWithoutChain4Responses[keyof WalletsV1ControllerGetTransactionsWithoutChain4Responses];
3261
+ type WalletsV1ControllerCreateTransaction4Data = {
3262
+ body: CreateTransactionDto;
3263
+ headers: {
3264
+ /**
3265
+ * API key required for authentication
3266
+ */
3267
+ 'X-API-KEY': string;
3268
+ /**
3269
+ * Unique key to prevent duplicate transaction creation
3270
+ */
3271
+ 'x-idempotency-key'?: string;
3272
+ };
3273
+ path: {
3274
+ /**
3275
+ * A wallet locator can be of the format:
3276
+ * - `<walletAddress>`
3277
+ * - `email:<email>:<walletType>`
3278
+ * - `userId:<userId>:<walletType>`
3279
+ * - `userId:<userId>:<walletType>` (white label user example)
3280
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3281
+ * - `twitter:<handle>:<walletType>`
3282
+ * - `x:<handle>:<walletType>`
3283
+ */
3284
+ walletLocator: string;
3285
+ };
3286
+ query?: never;
3287
+ url: '/2022-06-09/wallets/{walletLocator}/transactions';
3288
+ };
3289
+ type WalletsV1ControllerCreateTransaction4Errors = {
3290
+ /**
3291
+ * Returns an error if the transaction or the provided signer is not valid
3292
+ */
3293
+ 400: WalletV1Alpha2ErrorDto;
3294
+ /**
3295
+ * Returns an error if a wallet with the specified locator not found
3296
+ */
3297
+ 404: WalletV1Alpha2ErrorDto;
3298
+ /**
3299
+ * Returns an error if the transaction fails during simulation
3300
+ */
3301
+ 422: WalletV1Alpha2TransactionErrorDto;
3302
+ };
3303
+ type WalletsV1ControllerCreateTransaction4Error = WalletsV1ControllerCreateTransaction4Errors[keyof WalletsV1ControllerCreateTransaction4Errors];
3304
+ type WalletsV1ControllerCreateTransaction4Responses = {
3305
+ /**
3306
+ * The transaction has been successfully created.
3307
+ */
3308
+ 201: WalletsV1Alpha2TransactionResponseDto;
3309
+ };
3310
+ type WalletsV1ControllerCreateTransaction4Response = WalletsV1ControllerCreateTransaction4Responses[keyof WalletsV1ControllerCreateTransaction4Responses];
3311
+ type WalletsV1ControllerGetDelegatedSigner4Data = {
3312
+ body?: never;
3313
+ headers: {
3314
+ /**
3315
+ * API key required for authentication
3316
+ */
3317
+ 'X-API-KEY': string;
3318
+ };
3319
+ path: {
3320
+ /**
3321
+ * A wallet locator can be of the format:
3322
+ * - `<walletAddress>`
3323
+ * - `email:<email>:<walletType>`
3324
+ * - `userId:<userId>:<walletType>`
3325
+ * - `userId:<userId>:<walletType>` (white label user example)
3326
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3327
+ * - `twitter:<handle>:<walletType>`
3328
+ * - `x:<handle>:<walletType>`
3329
+ */
3330
+ walletLocator: string;
3331
+ /**
3332
+ * A signer locator that can be either a of format '<signerAddress>' for keypair type signers or '<signerType>:<signerIdentifier>'
3333
+ */
3334
+ signer: string;
3335
+ };
3336
+ query?: never;
3337
+ url: '/2022-06-09/wallets/{walletLocator}/signers/{signer}';
3338
+ };
3339
+ type WalletsV1ControllerGetDelegatedSigner4Errors = {
3340
+ /**
3341
+ * Returns an error if the wallet or signer not found
3342
+ */
3343
+ 404: WalletV1Alpha2ErrorDto;
3344
+ };
3345
+ type WalletsV1ControllerGetDelegatedSigner4Error = WalletsV1ControllerGetDelegatedSigner4Errors[keyof WalletsV1ControllerGetDelegatedSigner4Errors];
3346
+ type WalletsV1ControllerGetDelegatedSigner4Responses = {
3347
+ /**
3348
+ * The delegated signer has been successfully retrieved.
3349
+ */
3350
+ 200: DelegatedSignerDto;
3351
+ };
3352
+ type WalletsV1ControllerGetDelegatedSigner4Response = WalletsV1ControllerGetDelegatedSigner4Responses[keyof WalletsV1ControllerGetDelegatedSigner4Responses];
3353
+ type WalletsV1ControllerCreateDelegatedSigner4Data = {
3354
+ body: CreateSignerInputDto;
3355
+ headers: {
3356
+ /**
3357
+ * API key required for authentication
3358
+ */
3359
+ 'X-API-KEY': string;
3360
+ };
3361
+ path: {
3362
+ /**
3363
+ * A wallet locator can be of the format:
3364
+ * - `<walletAddress>`
3365
+ * - `email:<email>:<walletType>`
3366
+ * - `userId:<userId>:<walletType>`
3367
+ * - `userId:<userId>:<walletType>` (white label user example)
3368
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3369
+ * - `twitter:<handle>:<walletType>`
3370
+ * - `x:<handle>:<walletType>`
3371
+ */
3372
+ walletLocator: string;
3373
+ };
3374
+ query?: never;
3375
+ url: '/2022-06-09/wallets/{walletLocator}/signers';
3376
+ };
3377
+ type WalletsV1ControllerCreateDelegatedSigner4Errors = {
3378
+ /**
3379
+ * Returns an error if a delegated signer with specified configuration already exists
3380
+ */
3381
+ 400: WalletV1Alpha2ErrorDto;
3382
+ /**
3383
+ * Returns an error if a wallet with the specified locator not found
3384
+ */
3385
+ 404: WalletV1Alpha2ErrorDto;
3386
+ };
3387
+ type WalletsV1ControllerCreateDelegatedSigner4Error = WalletsV1ControllerCreateDelegatedSigner4Errors[keyof WalletsV1ControllerCreateDelegatedSigner4Errors];
3388
+ type WalletsV1ControllerCreateDelegatedSigner4Responses = {
3389
+ /**
3390
+ * The delegated signer has been successfully added to the wallet.
3391
+ */
3392
+ 201: DelegatedSignerDto;
3393
+ };
3394
+ type WalletsV1ControllerCreateDelegatedSigner4Response = WalletsV1ControllerCreateDelegatedSigner4Responses[keyof WalletsV1ControllerCreateDelegatedSigner4Responses];
3395
+ type WalletsV1ControllerSubmitSignatureApprovals4Data = {
3396
+ body: SubmitApprovalDto;
3397
+ headers: {
3398
+ /**
3399
+ * API key required for authentication
3400
+ */
3401
+ 'X-API-KEY': string;
3402
+ };
3403
+ path: {
3404
+ /**
3405
+ * A wallet locator can be of the format:
3406
+ * - `<walletAddress>`
3407
+ * - `email:<email>:<walletType>`
3408
+ * - `userId:<userId>:<walletType>`
3409
+ * - `userId:<userId>:<walletType>` (white label user example)
3410
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3411
+ * - `twitter:<handle>:<walletType>`
3412
+ * - `x:<handle>:<walletType>`
3413
+ */
3414
+ walletLocator: string;
3415
+ signatureId: string;
3416
+ };
3417
+ query?: never;
3418
+ url: '/2022-06-09/wallets/{walletLocator}/signatures/{signatureId}/approvals';
3419
+ };
3420
+ type WalletsV1ControllerSubmitSignatureApprovals4Errors = {
3421
+ /**
3422
+ * Returns an error if the signature is not valid
3423
+ */
3424
+ 400: WalletV1Alpha2ErrorDto;
3425
+ /**
3426
+ * Returns an error if the wallet or signature not found
3427
+ */
3428
+ 404: WalletV1Alpha2ErrorDto;
3429
+ };
3430
+ type WalletsV1ControllerSubmitSignatureApprovals4Error = WalletsV1ControllerSubmitSignatureApprovals4Errors[keyof WalletsV1ControllerSubmitSignatureApprovals4Errors];
3431
+ type WalletsV1ControllerSubmitSignatureApprovals4Responses = {
3432
+ /**
3433
+ * The signature has been successfully approved.
3434
+ */
3435
+ 201: WalletsV1Alpha2SignatureResponseDto;
3436
+ };
3437
+ type WalletsV1ControllerSubmitSignatureApprovals4Response = WalletsV1ControllerSubmitSignatureApprovals4Responses[keyof WalletsV1ControllerSubmitSignatureApprovals4Responses];
3438
+ type WalletsV1ControllerGetSignature4Data = {
3439
+ body?: never;
3440
+ headers: {
3441
+ /**
3442
+ * API key required for authentication
3443
+ */
3444
+ 'X-API-KEY': string;
3445
+ };
3446
+ path: {
3447
+ /**
3448
+ * A wallet locator can be of the format:
3449
+ * - `<walletAddress>`
3450
+ * - `email:<email>:<walletType>`
3451
+ * - `userId:<userId>:<walletType>`
3452
+ * - `userId:<userId>:<walletType>` (white label user example)
3453
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3454
+ * - `twitter:<handle>:<walletType>`
3455
+ * - `x:<handle>:<walletType>`
3456
+ */
3457
+ walletLocator: string;
3458
+ signatureId: string;
3459
+ };
3460
+ query?: never;
3461
+ url: '/2022-06-09/wallets/{walletLocator}/signatures/{signatureId}';
3462
+ };
3463
+ type WalletsV1ControllerGetSignature4Errors = {
3464
+ /**
3465
+ * Returns an error if the wallet or signature not found
3466
+ */
3467
+ 404: WalletV1Alpha2ErrorDto;
3468
+ };
3469
+ type WalletsV1ControllerGetSignature4Error = WalletsV1ControllerGetSignature4Errors[keyof WalletsV1ControllerGetSignature4Errors];
3470
+ type WalletsV1ControllerGetSignature4Responses = {
3471
+ /**
3472
+ * The signature has been successfully retrieved.
3473
+ */
3474
+ 200: WalletsV1Alpha2SignatureResponseDto;
3475
+ };
3476
+ type WalletsV1ControllerGetSignature4Response = WalletsV1ControllerGetSignature4Responses[keyof WalletsV1ControllerGetSignature4Responses];
3477
+ type WalletsV1ControllerGetAllSignatures4Data = {
3478
+ body?: never;
3479
+ headers: {
3480
+ /**
3481
+ * API key required for authentication
3482
+ */
3483
+ 'X-API-KEY': string;
3484
+ };
3485
+ path: {
3486
+ /**
3487
+ * A wallet locator can be of the format:
3488
+ * - `<walletAddress>`
3489
+ * - `email:<email>:<walletType>`
3490
+ * - `userId:<userId>:<walletType>`
3491
+ * - `userId:<userId>:<walletType>` (white label user example)
3492
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3493
+ * - `twitter:<handle>:<walletType>`
3494
+ * - `x:<handle>:<walletType>`
3495
+ */
3496
+ walletLocator: string;
3497
+ };
3498
+ query?: {
3499
+ page?: string;
3500
+ perPage?: string;
3501
+ };
3502
+ url: '/2022-06-09/wallets/{walletLocator}/signatures';
3503
+ };
3504
+ type WalletsV1ControllerGetAllSignatures4Errors = {
3505
+ /**
3506
+ * Returns an error if a wallet with the specified locator not found
3507
+ */
3508
+ 404: WalletV1Alpha2ErrorDto;
3509
+ };
3510
+ type WalletsV1ControllerGetAllSignatures4Error = WalletsV1ControllerGetAllSignatures4Errors[keyof WalletsV1ControllerGetAllSignatures4Errors];
3511
+ type WalletsV1ControllerGetAllSignatures4Responses = {
3512
+ /**
3513
+ * The signatures have been successfully retrieved.
3514
+ */
3515
+ 200: WalletsV1Alpha2MultipleSignatureResponseDto;
3516
+ };
3517
+ type WalletsV1ControllerGetAllSignatures4Response = WalletsV1ControllerGetAllSignatures4Responses[keyof WalletsV1ControllerGetAllSignatures4Responses];
3518
+ type WalletsV1ControllerCreateSignatureRequest4Data = {
3519
+ body: CreateSignatureRequestDto;
3520
+ headers: {
3521
+ /**
3522
+ * API key required for authentication
3523
+ */
3524
+ 'X-API-KEY': string;
3525
+ /**
3526
+ * Unique key to prevent duplicate signature creation
3527
+ */
3528
+ 'x-idempotency-key'?: string;
3529
+ };
3530
+ path: {
3531
+ /**
3532
+ * A wallet locator can be of the format:
3533
+ * - `<walletAddress>`
3534
+ * - `email:<email>:<walletType>`
3535
+ * - `userId:<userId>:<walletType>`
3536
+ * - `userId:<userId>:<walletType>` (white label user example)
3537
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3538
+ * - `twitter:<handle>:<walletType>`
3539
+ * - `x:<handle>:<walletType>`
3540
+ */
3541
+ walletLocator: string;
3542
+ };
3543
+ query?: never;
3544
+ url: '/2022-06-09/wallets/{walletLocator}/signatures';
3545
+ };
3546
+ type WalletsV1ControllerCreateSignatureRequest4Errors = {
3547
+ /**
3548
+ * Returns an error if the signature type is not supported
3549
+ */
3550
+ 400: WalletV1Alpha2ErrorDto;
3551
+ /**
3552
+ * Returns an error if a wallet with the specified locator not found
3553
+ */
3554
+ 404: WalletV1Alpha2ErrorDto;
3555
+ };
3556
+ type WalletsV1ControllerCreateSignatureRequest4Error = WalletsV1ControllerCreateSignatureRequest4Errors[keyof WalletsV1ControllerCreateSignatureRequest4Errors];
3557
+ type WalletsV1ControllerCreateSignatureRequest4Responses = {
3558
+ /**
3559
+ * The signature has been successfully created.
3560
+ */
3561
+ 201: WalletsV1Alpha2SignatureResponseDto;
3562
+ };
3563
+ type WalletsV1ControllerCreateSignatureRequest4Response = WalletsV1ControllerCreateSignatureRequest4Responses[keyof WalletsV1ControllerCreateSignatureRequest4Responses];
3564
+ type WalletsV1ControllerGetWalletByLocator4Data = {
3565
+ body?: never;
3566
+ headers: {
3567
+ /**
3568
+ * API key required for authentication
3569
+ */
3570
+ 'X-API-KEY': string;
3571
+ };
3572
+ path: {
3573
+ /**
3574
+ * A wallet locator can be of the format:
3575
+ * - `<walletAddress>`
3576
+ * - `email:<email>:<walletType>`
3577
+ * - `userId:<userId>:<walletType>`
3578
+ * - `userId:<userId>:<walletType>` (white label user example)
3579
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3580
+ * - `twitter:<handle>:<walletType>`
3581
+ * - `x:<handle>:<walletType>`
3582
+ */
3583
+ walletLocator: string;
3584
+ };
3585
+ query?: never;
3586
+ url: '/2022-06-09/wallets/{walletLocator}';
3587
+ };
3588
+ type WalletsV1ControllerGetWalletByLocator4Errors = {
3589
+ /**
3590
+ * Returns an error if a wallet with the specified locator not found
3591
+ */
3592
+ 404: WalletV1Alpha2ErrorDto;
3593
+ };
3594
+ type WalletsV1ControllerGetWalletByLocator4Error = WalletsV1ControllerGetWalletByLocator4Errors[keyof WalletsV1ControllerGetWalletByLocator4Errors];
3595
+ type WalletsV1ControllerGetWalletByLocator4Responses = {
3596
+ /**
3597
+ * The record has been successfully retreived.
3598
+ */
3599
+ 200: WalletV1Alpha2ResponseDto;
3600
+ };
3601
+ type WalletsV1ControllerGetWalletByLocator4Response = WalletsV1ControllerGetWalletByLocator4Responses[keyof WalletsV1ControllerGetWalletByLocator4Responses];
3602
+ type WalletsV1ControllerCreateWallet4Data = {
3603
+ body: CreateWalletDto;
3604
+ headers: {
3605
+ /**
3606
+ * API key required for authentication
3607
+ */
3608
+ 'X-API-KEY': string;
3609
+ /**
3610
+ * Unique key to prevent duplicate wallet creation
3611
+ */
3612
+ 'x-idempotency-key'?: string;
3613
+ };
3614
+ path?: never;
3615
+ query?: never;
3616
+ url: '/2022-06-09/wallets';
3617
+ };
3618
+ type WalletsV1ControllerCreateWallet4Errors = {
3619
+ /**
3620
+ * Returns an error if a wallet with the specified creation seed and signer configuration already exists
3621
+ */
3622
+ 400: WalletV1Alpha2ErrorDto;
3623
+ };
3624
+ type WalletsV1ControllerCreateWallet4Error = WalletsV1ControllerCreateWallet4Errors[keyof WalletsV1ControllerCreateWallet4Errors];
3625
+ type WalletsV1ControllerCreateWallet4Responses = {
3626
+ /**
3627
+ * Returns an existing wallet (200) if one already exists for the provided linkedUser or idempotencyKey, or creates and returns a new wallet (201). The response includes the wallet details and whether it was newly created.
3628
+ */
3629
+ 201: WalletV1Alpha2ResponseDto;
3630
+ };
3631
+ type WalletsV1ControllerCreateWallet4Response = WalletsV1ControllerCreateWallet4Responses[keyof WalletsV1ControllerCreateWallet4Responses];
3632
+ type FetchContentFromWalletData = {
3633
+ body?: never;
3634
+ path: {
3635
+ /**
3636
+ * The wallet identifier in the format of `<chain>:<address>`, `email:<email_address>:<chain>` or `userId:<userId>:<chain>`.
3637
+ */
3638
+ identifier: string;
3639
+ };
3640
+ query: {
3641
+ /**
3642
+ * Page index
3643
+ */
3644
+ page: string;
3645
+ /**
3646
+ * Number of items to display per page
3647
+ */
3648
+ perPage: string;
3649
+ };
3650
+ url: '/2022-06-09/wallets/{identifier}/nfts';
3651
+ };
3652
+ type FetchContentFromWalletErrors = {
3653
+ /**
3654
+ * Bad request. Either the blockchain prefix is incorrect, the address does not exist, or the locator is malformed
3655
+ */
3656
+ 400: _Error;
3657
+ };
3658
+ type FetchContentFromWalletError = FetchContentFromWalletErrors[keyof FetchContentFromWalletErrors];
3659
+ type FetchContentFromWalletResponses = {
3660
+ /**
3661
+ * Success
3662
+ */
3663
+ 200: Nftevm | Nftsol;
3664
+ };
3665
+ type FetchContentFromWalletResponse = FetchContentFromWalletResponses[keyof FetchContentFromWalletResponses];
3666
+ type BalanceControllerGetBalanceForLocator2Data = {
3667
+ body?: never;
3668
+ headers: {
3669
+ /**
3670
+ * API key required for authentication
3671
+ */
3672
+ 'X-API-KEY': string;
3673
+ };
3674
+ path: {
3675
+ /**
3676
+ * A wallet locator can be of the format:
3677
+ * - `<walletAddress>`
3678
+ * - `email:<email>:<walletType>`
3679
+ * - `userId:<userId>:<walletType>`
3680
+ * - `userId:<userId>:<walletType>` (white label user example)
3681
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3682
+ * - `twitter:<handle>:<walletType>`
3683
+ * - `x:<handle>:<walletType>`
3684
+ */
3685
+ walletLocator: string;
3686
+ };
3687
+ query: {
3688
+ /**
3689
+ * The blockchain(s) to query. Comma-separated list of chains
3690
+ */
3691
+ chains?: string;
3692
+ /**
3693
+ * The tokens to query. Comma-separated list
3694
+ */
3695
+ tokens: string;
3696
+ };
3697
+ url: '/v1-alpha2/wallets/{walletLocator}/balances';
3698
+ };
3699
+ type BalanceControllerGetBalanceForLocator2Errors = {
3700
+ /**
3701
+ * Returns an error (400) if the wallet locator is invalid or if the address type is not supported
3702
+ */
3703
+ 400: WalletV1Alpha2ErrorDto;
3704
+ };
3705
+ type BalanceControllerGetBalanceForLocator2Error = BalanceControllerGetBalanceForLocator2Errors[keyof BalanceControllerGetBalanceForLocator2Errors];
3706
+ type BalanceControllerGetBalanceForLocator2Responses = {
3707
+ /**
3708
+ * Returns the balance of the wallet for the given chain and currency
3709
+ */
3710
+ 200: WalletBalanceResponseDto;
3711
+ };
3712
+ type BalanceControllerGetBalanceForLocator2Response = BalanceControllerGetBalanceForLocator2Responses[keyof BalanceControllerGetBalanceForLocator2Responses];
3713
+ type BalanceControllerFundWallet2Data = {
3714
+ body: FundWalletAmountDto;
3715
+ headers: {
3716
+ /**
3717
+ * API key required for authentication
3718
+ */
3719
+ 'X-API-KEY': string;
3720
+ };
3721
+ path: {
3722
+ /**
3723
+ * A wallet locator can be of the format:
3724
+ * - `<walletAddress>`
3725
+ * - `email:<email>:<walletType>`
3726
+ * - `userId:<userId>:<walletType>`
3727
+ * - `userId:<userId>:<walletType>` (white label user example)
3728
+ * - `phoneNumber:<phoneNumber>:<walletType>`
3729
+ * - `twitter:<handle>:<walletType>`
3730
+ * - `x:<handle>:<walletType>`
3731
+ */
3732
+ walletLocator: string;
3733
+ };
3734
+ query?: never;
3735
+ url: '/v1-alpha2/wallets/{walletLocator}/balances';
3736
+ };
3737
+ type BalanceControllerFundWallet2Errors = {
3738
+ /**
3739
+ * Returns an error (404) if a wallet with the specified locator not found
3740
+ */
3741
+ 404: WalletV1Alpha2ErrorDto;
3742
+ };
3743
+ type BalanceControllerFundWallet2Error = BalanceControllerFundWallet2Errors[keyof BalanceControllerFundWallet2Errors];
3744
+ type BalanceControllerFundWallet2Responses = {
3745
+ /**
3746
+ * Funds sent successfully.
3747
+ */
3748
+ 201: WalletBalanceResponseDto;
3749
+ };
3750
+ type BalanceControllerFundWallet2Response = BalanceControllerFundWallet2Responses[keyof BalanceControllerFundWallet2Responses];
3751
+ type ClientOptions = {
3752
+ baseUrl: 'https://staging.crossmint.com/api' | 'https://www.crossmint.com/api' | (string & {});
3753
+ };
3754
+
3755
+ export type { BalanceControllerFundWallet2Data, BalanceControllerFundWallet2Error, BalanceControllerFundWallet2Errors, BalanceControllerFundWallet2Response, BalanceControllerFundWallet2Responses, BalanceControllerGetBalanceForLocator2Data, BalanceControllerGetBalanceForLocator2Error, BalanceControllerGetBalanceForLocator2Errors, BalanceControllerGetBalanceForLocator2Response, BalanceControllerGetBalanceForLocator2Responses, ClientOptions, CreateSignatureRequestDto, CreateSignerInputDto, CreateTransactionDto, CreateWalletDto, DelegatedSignerDto, FetchContentFromWalletData, FetchContentFromWalletError, FetchContentFromWalletErrors, FetchContentFromWalletResponse, FetchContentFromWalletResponses, FundWalletAmountDto, Nftevm, Nftsol, SendTokenDto, SubmitApprovalDto, WalletBalanceResponseDto, WalletV1Alpha2ErrorDto, WalletV1Alpha2ResponseDto, WalletV1Alpha2TransactionErrorDto, WalletsV1Alpha2MultipleSignatureResponseDto, WalletsV1Alpha2SignatureResponseDto, WalletsV1Alpha2TransactionResponseDto, WalletsV1Alpha2TransactionsResponseDto, WalletsV1ControllerCreateDelegatedSigner4Data, WalletsV1ControllerCreateDelegatedSigner4Error, WalletsV1ControllerCreateDelegatedSigner4Errors, WalletsV1ControllerCreateDelegatedSigner4Response, WalletsV1ControllerCreateDelegatedSigner4Responses, WalletsV1ControllerCreateMeSignatureRequest4Data, WalletsV1ControllerCreateMeSignatureRequest4Error, WalletsV1ControllerCreateMeSignatureRequest4Errors, WalletsV1ControllerCreateMeSignatureRequest4Response, WalletsV1ControllerCreateMeSignatureRequest4Responses, WalletsV1ControllerCreateMeTransaction4Data, WalletsV1ControllerCreateMeTransaction4Error, WalletsV1ControllerCreateMeTransaction4Errors, WalletsV1ControllerCreateMeTransaction4Response, WalletsV1ControllerCreateMeTransaction4Responses, WalletsV1ControllerCreateMeWallet4Data, WalletsV1ControllerCreateMeWallet4Response, WalletsV1ControllerCreateMeWallet4Responses, WalletsV1ControllerCreateSignatureRequest4Data, WalletsV1ControllerCreateSignatureRequest4Error, WalletsV1ControllerCreateSignatureRequest4Errors, WalletsV1ControllerCreateSignatureRequest4Response, WalletsV1ControllerCreateSignatureRequest4Responses, WalletsV1ControllerCreateTransaction4Data, WalletsV1ControllerCreateTransaction4Error, WalletsV1ControllerCreateTransaction4Errors, WalletsV1ControllerCreateTransaction4Response, WalletsV1ControllerCreateTransaction4Responses, WalletsV1ControllerCreateWallet4Data, WalletsV1ControllerCreateWallet4Error, WalletsV1ControllerCreateWallet4Errors, WalletsV1ControllerCreateWallet4Response, WalletsV1ControllerCreateWallet4Responses, WalletsV1ControllerGetAllSignatures4Data, WalletsV1ControllerGetAllSignatures4Error, WalletsV1ControllerGetAllSignatures4Errors, WalletsV1ControllerGetAllSignatures4Response, WalletsV1ControllerGetAllSignatures4Responses, WalletsV1ControllerGetDelegatedSigner4Data, WalletsV1ControllerGetDelegatedSigner4Error, WalletsV1ControllerGetDelegatedSigner4Errors, WalletsV1ControllerGetDelegatedSigner4Response, WalletsV1ControllerGetDelegatedSigner4Responses, WalletsV1ControllerGetMeSignature4Data, WalletsV1ControllerGetMeSignature4Error, WalletsV1ControllerGetMeSignature4Errors, WalletsV1ControllerGetMeSignature4Response, WalletsV1ControllerGetMeSignature4Responses, WalletsV1ControllerGetMeTransaction4Data, WalletsV1ControllerGetMeTransaction4Error, WalletsV1ControllerGetMeTransaction4Errors, WalletsV1ControllerGetMeTransaction4Response, WalletsV1ControllerGetMeTransaction4Responses, WalletsV1ControllerGetMeWallet4Data, WalletsV1ControllerGetMeWallet4Response, WalletsV1ControllerGetMeWallet4Responses, WalletsV1ControllerGetSignature4Data, WalletsV1ControllerGetSignature4Error, WalletsV1ControllerGetSignature4Errors, WalletsV1ControllerGetSignature4Response, WalletsV1ControllerGetSignature4Responses, WalletsV1ControllerGetTransaction4Data, WalletsV1ControllerGetTransaction4Error, WalletsV1ControllerGetTransaction4Errors, WalletsV1ControllerGetTransaction4Response, WalletsV1ControllerGetTransaction4Responses, WalletsV1ControllerGetTransactionsWithoutChain4Data, WalletsV1ControllerGetTransactionsWithoutChain4Error, WalletsV1ControllerGetTransactionsWithoutChain4Errors, WalletsV1ControllerGetTransactionsWithoutChain4Response, WalletsV1ControllerGetTransactionsWithoutChain4Responses, WalletsV1ControllerGetWalletByLocator4Data, WalletsV1ControllerGetWalletByLocator4Error, WalletsV1ControllerGetWalletByLocator4Errors, WalletsV1ControllerGetWalletByLocator4Response, WalletsV1ControllerGetWalletByLocator4Responses, WalletsV1ControllerSubmitApprovals4Data, WalletsV1ControllerSubmitApprovals4Error, WalletsV1ControllerSubmitApprovals4Errors, WalletsV1ControllerSubmitApprovals4Response, WalletsV1ControllerSubmitApprovals4Responses, WalletsV1ControllerSubmitMeApprovals4Data, WalletsV1ControllerSubmitMeApprovals4Error, WalletsV1ControllerSubmitMeApprovals4Errors, WalletsV1ControllerSubmitMeApprovals4Response, WalletsV1ControllerSubmitMeApprovals4Responses, WalletsV1ControllerSubmitMeSignatureApprovals4Data, WalletsV1ControllerSubmitMeSignatureApprovals4Error, WalletsV1ControllerSubmitMeSignatureApprovals4Errors, WalletsV1ControllerSubmitMeSignatureApprovals4Response, WalletsV1ControllerSubmitMeSignatureApprovals4Responses, WalletsV1ControllerSubmitSignatureApprovals4Data, WalletsV1ControllerSubmitSignatureApprovals4Error, WalletsV1ControllerSubmitSignatureApprovals4Errors, WalletsV1ControllerSubmitSignatureApprovals4Response, WalletsV1ControllerSubmitSignatureApprovals4Responses, _Error };