signer-test-sdk-core 0.0.1

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 (63) hide show
  1. package/README.md +81 -0
  2. package/dist/src/components/OnboardingUI/auth.d.ts +158 -0
  3. package/dist/src/components/OnboardingUI/auth.js +230 -0
  4. package/dist/src/components/OnboardingUI/auth.js.map +1 -0
  5. package/dist/src/components/OnboardingUI/index.d.ts +9 -0
  6. package/dist/src/components/OnboardingUI/index.js +9 -0
  7. package/dist/src/components/OnboardingUI/index.js.map +1 -0
  8. package/dist/src/components/OnboardingUI/types.d.ts +159 -0
  9. package/dist/src/components/OnboardingUI/types.js +5 -0
  10. package/dist/src/components/OnboardingUI/types.js.map +1 -0
  11. package/dist/src/core/AbstraxnWallet.d.ts +162 -0
  12. package/dist/src/core/AbstraxnWallet.js +593 -0
  13. package/dist/src/core/AbstraxnWallet.js.map +1 -0
  14. package/dist/src/core/AuthManager.d.ts +112 -0
  15. package/dist/src/core/AuthManager.js +685 -0
  16. package/dist/src/core/AuthManager.js.map +1 -0
  17. package/dist/src/core/Signer.d.ts +35 -0
  18. package/dist/src/core/Signer.js +156 -0
  19. package/dist/src/core/Signer.js.map +1 -0
  20. package/dist/src/index.d.ts +17 -0
  21. package/dist/src/index.js +19 -0
  22. package/dist/src/index.js.map +1 -0
  23. package/dist/src/interfaces/IAuth.d.ts +26 -0
  24. package/dist/src/interfaces/IAuth.js +2 -0
  25. package/dist/src/interfaces/IAuth.js.map +1 -0
  26. package/dist/src/interfaces/ISigner.d.ts +14 -0
  27. package/dist/src/interfaces/ISigner.js +2 -0
  28. package/dist/src/interfaces/ISigner.js.map +1 -0
  29. package/dist/src/interfaces/IStorage.d.ts +15 -0
  30. package/dist/src/interfaces/IStorage.js +2 -0
  31. package/dist/src/interfaces/IStorage.js.map +1 -0
  32. package/dist/src/interfaces/IWallet.d.ts +45 -0
  33. package/dist/src/interfaces/IWallet.js +2 -0
  34. package/dist/src/interfaces/IWallet.js.map +1 -0
  35. package/dist/src/services/ApiService.d.ts +131 -0
  36. package/dist/src/services/ApiService.js +626 -0
  37. package/dist/src/services/ApiService.js.map +1 -0
  38. package/dist/src/services/TokenService.d.ts +29 -0
  39. package/dist/src/services/TokenService.js +40 -0
  40. package/dist/src/services/TokenService.js.map +1 -0
  41. package/dist/src/services/TurnkeyService.d.ts +54 -0
  42. package/dist/src/services/TurnkeyService.js +91 -0
  43. package/dist/src/services/TurnkeyService.js.map +1 -0
  44. package/dist/src/storage/IndexedDBStorage.d.ts +39 -0
  45. package/dist/src/storage/IndexedDBStorage.js +280 -0
  46. package/dist/src/storage/IndexedDBStorage.js.map +1 -0
  47. package/dist/src/utils/constants.d.ts +52 -0
  48. package/dist/src/utils/constants.js +78 -0
  49. package/dist/src/utils/constants.js.map +1 -0
  50. package/dist/src/utils/errors.d.ts +23 -0
  51. package/dist/src/utils/errors.js +48 -0
  52. package/dist/src/utils/errors.js.map +1 -0
  53. package/dist/src/utils/helpers.d.ts +12 -0
  54. package/dist/src/utils/helpers.js +30 -0
  55. package/dist/src/utils/helpers.js.map +1 -0
  56. package/dist/src/utils/passkey.d.ts +33 -0
  57. package/dist/src/utils/passkey.js +122 -0
  58. package/dist/src/utils/passkey.js.map +1 -0
  59. package/dist/src/utils/types.d.ts +182 -0
  60. package/dist/src/utils/types.js +5 -0
  61. package/dist/src/utils/types.js.map +1 -0
  62. package/dist/tsconfig.tsbuildinfo +1 -0
  63. package/package.json +49 -0
@@ -0,0 +1,162 @@
1
+ /**
2
+ * AbstraxnWallet - Main wallet class
3
+ * Framework-agnostic core SDK
4
+ */
5
+ import { IWallet } from '../interfaces/IWallet';
6
+ import { AbstraxnWalletConfig, User, TransactionRequest, TransactionResponse, WalletInfo, WalletEvent, WalletEventHandler, WhoamiResponse } from '../utils/types';
7
+ import { AuthManager } from './AuthManager';
8
+ export declare class AbstraxnWallet implements IWallet {
9
+ private config;
10
+ isConnected: boolean;
11
+ address: string | null;
12
+ user: User | null;
13
+ private authManager;
14
+ private signer;
15
+ private currentChainId;
16
+ private eventHandlers;
17
+ private initialized;
18
+ constructor(config: AbstraxnWalletConfig);
19
+ /**
20
+ * Initialize wallet
21
+ */
22
+ private initialize;
23
+ /**
24
+ * Connect wallet
25
+ */
26
+ connect(): Promise<void>;
27
+ /**
28
+ * Disconnect wallet
29
+ */
30
+ disconnect(): Promise<void>;
31
+ /**
32
+ * Get whoami information
33
+ */
34
+ getWhoami(): Promise<WhoamiResponse | null>;
35
+ /**
36
+ * Refresh whoami by making a fresh API call
37
+ * This bypasses the cache and always calls the API
38
+ */
39
+ refreshWhoami(): Promise<WhoamiResponse | null>;
40
+ /**
41
+ * Load address from whoami response
42
+ * Backend whoami response includes address directly
43
+ */
44
+ private loadAddressFromWhoami;
45
+ /**
46
+ * Get wallet address
47
+ */
48
+ getAddress(): Promise<string>;
49
+ /**
50
+ * Get current chain ID
51
+ */
52
+ getChainId(): Promise<number>;
53
+ /**
54
+ * Switch chain
55
+ */
56
+ switchChain(chainId: number): Promise<void>;
57
+ /**
58
+ * Get user information
59
+ */
60
+ getUserInfo(): Promise<User>;
61
+ /**
62
+ * Sign transaction
63
+ */
64
+ signTransaction(tx: TransactionRequest): Promise<string>;
65
+ /**
66
+ * Send transaction
67
+ */
68
+ sendTransaction(tx: TransactionRequest): Promise<TransactionResponse>;
69
+ /**
70
+ * Sign transaction using backend API
71
+ * Returns the signed transaction that can be executed by the user
72
+ */
73
+ signTransactionViaAPI(unsignedTransaction: string, fromAddress: string): Promise<{
74
+ signedTransaction: string;
75
+ }>;
76
+ /**
77
+ * Sign and send transaction using backend API
78
+ * This method uses the /sign/transaction endpoint with Bearer token authentication
79
+ * Gets signature from API and then executes the transaction internally
80
+ */
81
+ signAndSendTransaction(unsignedTransaction: string, fromAddress: string, rpcUrl?: string): Promise<TransactionResponse>;
82
+ /**
83
+ * Sign message
84
+ */
85
+ signMessage(message: string): Promise<string>;
86
+ /**
87
+ * Sign typed data (EIP-712)
88
+ */
89
+ signTypedData(data: any): Promise<string>;
90
+ /**
91
+ * Get wallets
92
+ */
93
+ getWallets(): Promise<WalletInfo[]>;
94
+ /**
95
+ * Get wallet addresses
96
+ */
97
+ getWalletAddresses(walletId: string): Promise<string[]>;
98
+ /**
99
+ * Event system
100
+ */
101
+ on(event: WalletEvent, handler: WalletEventHandler): void;
102
+ off(event: WalletEvent, handler: WalletEventHandler): void;
103
+ private emit;
104
+ /**
105
+ * Get auth manager (for advanced usage)
106
+ */
107
+ getAuthManager(): AuthManager;
108
+ /**
109
+ * Login with email OTP (initiate OTP)
110
+ * Returns otpId that can be used to verify OTP
111
+ */
112
+ loginWithOTP(email: string): Promise<{
113
+ otpId: string;
114
+ }>;
115
+ /**
116
+ * Verify OTP and complete authentication
117
+ */
118
+ verifyOTP(otpId: string, otpCode: string): Promise<User>;
119
+ /**
120
+ * Login with Google OAuth
121
+ * This will redirect the user to Google OAuth
122
+ */
123
+ loginWithGoogle(): Promise<void>;
124
+ /**
125
+ * Login with Discord OAuth
126
+ */
127
+ loginWithDiscord(): Promise<void>;
128
+ /**
129
+ * Login with X (Twitter) OAuth
130
+ */
131
+ loginWithTwitter(): Promise<void>;
132
+ /**
133
+ * Handle Google OAuth callback
134
+ * Call this after user returns from Google OAuth redirect
135
+ */
136
+ handleGoogleCallback(): Promise<User | null>;
137
+ /**
138
+ * Handle Discord OAuth callback
139
+ */
140
+ handleDiscordCallback(): Promise<User | null>;
141
+ /**
142
+ * Handle X (Twitter) OAuth callback
143
+ */
144
+ handleTwitterCallback(): Promise<User | null>;
145
+ /**
146
+ * Signup with passkey
147
+ */
148
+ signupWithPasskey(): Promise<User>;
149
+ /**
150
+ * Login with passkey
151
+ */
152
+ loginWithPasskey(): Promise<User>;
153
+ /**
154
+ * Export wallet
155
+ * Exports the private key for the current wallet account
156
+ * If privateKey is provided, decrypts the bundle and returns the result
157
+ * @param targetPublicKey - The public key to encrypt the export bundle for
158
+ * @param privateKey - private key to decrypt the bundle
159
+ * @param blockchain - blockchain type ('evm' or 'solana'). If not provided, defaults to 'evm'
160
+ */
161
+ exportWallet(targetPublicKey: string, privateKey: string, blockchain: 'evm' | 'solana'): Promise<string | any>;
162
+ }