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.
- package/README.md +81 -0
- package/dist/src/components/OnboardingUI/auth.d.ts +158 -0
- package/dist/src/components/OnboardingUI/auth.js +230 -0
- package/dist/src/components/OnboardingUI/auth.js.map +1 -0
- package/dist/src/components/OnboardingUI/index.d.ts +9 -0
- package/dist/src/components/OnboardingUI/index.js +9 -0
- package/dist/src/components/OnboardingUI/index.js.map +1 -0
- package/dist/src/components/OnboardingUI/types.d.ts +159 -0
- package/dist/src/components/OnboardingUI/types.js +5 -0
- package/dist/src/components/OnboardingUI/types.js.map +1 -0
- package/dist/src/core/AbstraxnWallet.d.ts +162 -0
- package/dist/src/core/AbstraxnWallet.js +593 -0
- package/dist/src/core/AbstraxnWallet.js.map +1 -0
- package/dist/src/core/AuthManager.d.ts +112 -0
- package/dist/src/core/AuthManager.js +685 -0
- package/dist/src/core/AuthManager.js.map +1 -0
- package/dist/src/core/Signer.d.ts +35 -0
- package/dist/src/core/Signer.js +156 -0
- package/dist/src/core/Signer.js.map +1 -0
- package/dist/src/index.d.ts +17 -0
- package/dist/src/index.js +19 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interfaces/IAuth.d.ts +26 -0
- package/dist/src/interfaces/IAuth.js +2 -0
- package/dist/src/interfaces/IAuth.js.map +1 -0
- package/dist/src/interfaces/ISigner.d.ts +14 -0
- package/dist/src/interfaces/ISigner.js +2 -0
- package/dist/src/interfaces/ISigner.js.map +1 -0
- package/dist/src/interfaces/IStorage.d.ts +15 -0
- package/dist/src/interfaces/IStorage.js +2 -0
- package/dist/src/interfaces/IStorage.js.map +1 -0
- package/dist/src/interfaces/IWallet.d.ts +45 -0
- package/dist/src/interfaces/IWallet.js +2 -0
- package/dist/src/interfaces/IWallet.js.map +1 -0
- package/dist/src/services/ApiService.d.ts +131 -0
- package/dist/src/services/ApiService.js +626 -0
- package/dist/src/services/ApiService.js.map +1 -0
- package/dist/src/services/TokenService.d.ts +29 -0
- package/dist/src/services/TokenService.js +40 -0
- package/dist/src/services/TokenService.js.map +1 -0
- package/dist/src/services/TurnkeyService.d.ts +54 -0
- package/dist/src/services/TurnkeyService.js +91 -0
- package/dist/src/services/TurnkeyService.js.map +1 -0
- package/dist/src/storage/IndexedDBStorage.d.ts +39 -0
- package/dist/src/storage/IndexedDBStorage.js +280 -0
- package/dist/src/storage/IndexedDBStorage.js.map +1 -0
- package/dist/src/utils/constants.d.ts +52 -0
- package/dist/src/utils/constants.js +78 -0
- package/dist/src/utils/constants.js.map +1 -0
- package/dist/src/utils/errors.d.ts +23 -0
- package/dist/src/utils/errors.js +48 -0
- package/dist/src/utils/errors.js.map +1 -0
- package/dist/src/utils/helpers.d.ts +12 -0
- package/dist/src/utils/helpers.js +30 -0
- package/dist/src/utils/helpers.js.map +1 -0
- package/dist/src/utils/passkey.d.ts +33 -0
- package/dist/src/utils/passkey.js +122 -0
- package/dist/src/utils/passkey.js.map +1 -0
- package/dist/src/utils/types.d.ts +182 -0
- package/dist/src/utils/types.js +5 -0
- package/dist/src/utils/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- 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
|
+
}
|