@pooflabs/web 0.0.73 → 0.0.75

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 (65) hide show
  1. package/dist/auth/index.d.ts +4 -5
  2. package/dist/auth/providers/mock-auth-provider.d.ts +3 -3
  3. package/dist/auth/providers/privy-expo-provider.d.ts +105 -0
  4. package/dist/{index-BFJJZKXQ.js → index-BHYrnHi6.js} +357 -7
  5. package/dist/index-BHYrnHi6.js.map +1 -0
  6. package/dist/index-BcDe_euX.js +15928 -0
  7. package/dist/index-BcDe_euX.js.map +1 -0
  8. package/dist/index-Bdcc5821.js +2375 -0
  9. package/dist/index-Bdcc5821.js.map +1 -0
  10. package/dist/{index-TfCOBCez.esm.js → index-BqDvUK9s.esm.js} +352 -2
  11. package/dist/index-BqDvUK9s.esm.js.map +1 -0
  12. package/dist/index-CMeewi-G.js +21553 -0
  13. package/dist/index-CMeewi-G.js.map +1 -0
  14. package/dist/index-CrOVJFX9.esm.js +2373 -0
  15. package/dist/index-CrOVJFX9.esm.js.map +1 -0
  16. package/dist/index-Dho2J3X6.esm.js +21477 -0
  17. package/dist/index-Dho2J3X6.esm.js.map +1 -0
  18. package/dist/index-_vhjpl1l.esm.js +15887 -0
  19. package/dist/index-_vhjpl1l.esm.js.map +1 -0
  20. package/dist/{index.browser-ChrwVq76.esm.js → index.browser-Br0p4bjw.esm.js} +2 -3
  21. package/dist/{index.browser-ChrwVq76.esm.js.map → index.browser-Br0p4bjw.esm.js.map} +1 -1
  22. package/dist/{index.browser-BuIgwfvv.esm.js → index.browser-Btm3sRKb.esm.js} +2 -3
  23. package/dist/{index.browser-BuIgwfvv.esm.js.map → index.browser-Btm3sRKb.esm.js.map} +1 -1
  24. package/dist/{index.browser-wsb8xknL.js → index.browser-BzHjnrpD.js} +2 -3
  25. package/dist/{index.browser-wsb8xknL.js.map → index.browser-BzHjnrpD.js.map} +1 -1
  26. package/dist/index.browser-CGfjPfzM.esm.js +1468 -0
  27. package/dist/index.browser-CGfjPfzM.esm.js.map +1 -0
  28. package/dist/{index.browser-BO1XxDi0.js → index.browser-Dapjfbl6.js} +2 -3
  29. package/dist/{index.browser-BO1XxDi0.js.map → index.browser-Dapjfbl6.js.map} +1 -1
  30. package/dist/index.browser-JX3F6oPV.js +1471 -0
  31. package/dist/index.browser-JX3F6oPV.js.map +1 -0
  32. package/dist/index.d.ts +4 -0
  33. package/dist/index.esm.js +1 -2
  34. package/dist/index.esm.js.map +1 -1
  35. package/dist/index.js +6 -2
  36. package/dist/index.js.map +1 -1
  37. package/dist/index.native-BB7er4-z.esm.js +13269 -0
  38. package/dist/index.native-BB7er4-z.esm.js.map +1 -0
  39. package/dist/index.native-DcKDTqvq.js +13348 -0
  40. package/dist/index.native-DcKDTqvq.js.map +1 -0
  41. package/dist/index.native.d.ts +24 -0
  42. package/dist/index.native.esm.js +6 -0
  43. package/dist/index.native.esm.js.map +1 -0
  44. package/dist/index.native.js +59 -0
  45. package/dist/index.native.js.map +1 -0
  46. package/dist/phantom-wallet-provider-DHok8ui3.esm.js +1307 -0
  47. package/dist/phantom-wallet-provider-DHok8ui3.esm.js.map +1 -0
  48. package/dist/phantom-wallet-provider-DMxFAUC4.js +1328 -0
  49. package/dist/phantom-wallet-provider-DMxFAUC4.js.map +1 -0
  50. package/dist/platform.d.ts +81 -0
  51. package/dist/privy-wallet-provider-Bhvw0t1d.js +3942 -0
  52. package/dist/privy-wallet-provider-Bhvw0t1d.js.map +1 -0
  53. package/dist/privy-wallet-provider-CFuoQYuv.esm.js +3921 -0
  54. package/dist/privy-wallet-provider-CFuoQYuv.esm.js.map +1 -0
  55. package/dist/solana-mobile-wallet-provider-BpQghAgC.esm.js +558 -0
  56. package/dist/solana-mobile-wallet-provider-BpQghAgC.esm.js.map +1 -0
  57. package/dist/solana-mobile-wallet-provider-D8b5y-By.js +579 -0
  58. package/dist/solana-mobile-wallet-provider-D8b5y-By.js.map +1 -0
  59. package/package.json +19 -3
  60. package/dist/index-BFJJZKXQ.js.map +0 -1
  61. package/dist/index-BV8MOXXy.js +0 -36033
  62. package/dist/index-BV8MOXXy.js.map +0 -1
  63. package/dist/index-D0yz-P8G.esm.js +0 -35962
  64. package/dist/index-D0yz-P8G.esm.js.map +0 -1
  65. package/dist/index-TfCOBCez.esm.js.map +0 -1
@@ -1,12 +1,11 @@
1
- export { PhantomWalletProvider, PhantomWalletConfig, PhantomProviderType, } from "./providers/phantom-wallet-provider";
2
- export { PrivyWalletProvider } from "./providers/privy-wallet-provider";
3
- export { MockAuthProvider, DEFAULT_TEST_ADDRESS, } from "./providers/mock-auth-provider";
4
- export { OffchainAuthProvider, OffchainAuthProviderConfig, } from "./providers/offchain-auth-provider";
5
- export { SolanaMobileWalletProvider, SolanaMobileWalletConfig, isMobileWalletAvailable, registerMobileWalletAdapter, } from "./providers/solana-mobile-wallet-provider";
6
1
  import { AuthProvider, User, ClientConfig } from "@pooflabs/core";
7
2
  /**
8
3
  * Clears the session if it was created before auth method tracking (legacy session).
9
4
  * Returns true if the session was cleared, false if the session is compatible.
5
+ *
6
+ * Dispatches to the correct session manager based on the current auth method
7
+ * so both web (WebSessionManager) and RN (ReactNativeSessionManager) sessions
8
+ * are properly cleared.
10
9
  */
11
10
  export declare function clearIncompatibleSession(): boolean;
12
11
  export declare const SOLANA_DEVNET_RPC_URL = "https://idelle-8nxsep-fast-devnet.helius-rpc.com";
@@ -4,13 +4,13 @@ import { Transaction, VersionedTransaction } from '@solana/web3.js';
4
4
  export declare const DEFAULT_TEST_ADDRESS = "HKbZbRR7jWWR5VRN8KFjvTCHEzJQgameYxKQxh2gPoof";
5
5
  /**
6
6
  * MockAuthProvider bypasses real wallet authentication for testing purposes.
7
- * Uses sessionStorage to simulate logged-in user, with fallback to default test address.
7
+ * Uses session storage to simulate logged-in user, with fallback to default test address.
8
8
  *
9
9
  * This is enabled by passing mockAuth: true to init()
10
10
  */
11
11
  export declare class MockAuthProvider implements AuthProvider {
12
12
  /**
13
- * Mock login - reads user from sessionStorage or uses default test address
13
+ * Mock login - reads user from session storage or uses default test address
14
14
  */
15
15
  login(): Promise<User | null>;
16
16
  /**
@@ -39,7 +39,7 @@ export declare class MockAuthProvider implements AuthProvider {
39
39
  */
40
40
  restoreSession(): Promise<User | null>;
41
41
  /**
42
- * Mock logout - clears test user from sessionStorage
42
+ * Mock logout - clears test user from session storage
43
43
  */
44
44
  logout(): Promise<void>;
45
45
  /**
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Privy Expo Auth Provider — React Native implementation of AuthProvider.
3
+ *
4
+ * Uses @privy-io/expo instead of @privy-io/react-auth.
5
+ * Uses ReactNativeSessionManager instead of WebSessionManager.
6
+ *
7
+ * IMPORTANT — Expo/RN consumers must:
8
+ * 1. Install polyfills: fast-text-encoding, react-native-get-random-values
9
+ * 2. Install @privy-io/expo, @privy-io/expo-native-extensions
10
+ * 3. Call ReactNativeSessionManager.configure({ storage, atob }) at startup
11
+ * 4. Call setPlatform({ ... }) from @pooflabs/web at startup
12
+ * 5. Wrap their app tree with PrivyProvider from @privy-io/expo
13
+ * 6. Create this provider and pass the Privy hooks/methods via setPrivyMethods()
14
+ *
15
+ * Unlike the web PrivyWalletProvider which renders a hidden React DOM tree
16
+ * to host Privy's React context, this provider expects the RN app itself
17
+ * to render <PrivyProvider> and then bridge the hooks via setPrivyMethods().
18
+ */
19
+ import type { EVMTransaction, SolTransaction, TransactionResult, AuthProvider, User, SetOptions } from '@pooflabs/core';
20
+ import { PublicKey, Connection, Transaction, VersionedTransaction } from '@solana/web3.js';
21
+ export interface PrivyExpoMethods {
22
+ /** Whether Privy SDK is fully initialized. */
23
+ isReady: boolean;
24
+ /** Whether the user is authenticated. */
25
+ isAuthenticated: boolean;
26
+ /** The user object from usePrivy(). */
27
+ user: any;
28
+ /** Trigger Privy login UI. Returns the user on success. */
29
+ login: () => Promise<any>;
30
+ /** Log out from Privy. */
31
+ logout: () => Promise<void>;
32
+ /** Get an access token from Privy. */
33
+ getAccessToken: () => Promise<string | null>;
34
+ /** Get the Privy identity token. */
35
+ getIdentityToken: () => Promise<string | null>;
36
+ /**
37
+ * Get the embedded Solana wallet provider.
38
+ * Comes from useEmbeddedSolanaWallet().
39
+ */
40
+ getWalletProvider: () => Promise<{
41
+ address: string;
42
+ signMessage: (message: Uint8Array) => Promise<{
43
+ signature: Uint8Array;
44
+ }>;
45
+ signTransaction: (transaction: Transaction | VersionedTransaction) => Promise<{
46
+ signedTransaction: Uint8Array;
47
+ }>;
48
+ signAndSendTransaction: (transaction: Transaction | VersionedTransaction, connection: Connection) => Promise<{
49
+ signature: string;
50
+ }>;
51
+ } | null>;
52
+ }
53
+ export declare class PrivyExpoProvider implements AuthProvider {
54
+ private networkUrl;
55
+ private privyMethods;
56
+ private appId;
57
+ constructor(appId: string, networkUrl?: string | null);
58
+ /**
59
+ * Bridge Privy hooks from the app's React tree into this provider.
60
+ *
61
+ * Call this from a component rendered inside <PrivyProvider>:
62
+ * ```tsx
63
+ * const privy = usePrivy();
64
+ * const wallet = useEmbeddedSolanaWallet();
65
+ * const { getAccessToken } = usePrivy();
66
+ * const { getIdentityToken } = useIdentityToken();
67
+ *
68
+ * useEffect(() => {
69
+ * provider.setPrivyMethods({
70
+ * isReady: privy.isReady,
71
+ * isAuthenticated: !!privy.user,
72
+ * user: privy.user,
73
+ * login: privy.login,
74
+ * logout: privy.logout,
75
+ * getAccessToken,
76
+ * getIdentityToken,
77
+ * getWalletProvider: async () => {
78
+ * if (!wallet.wallets[0]) return null;
79
+ * const provider = await wallet.wallets[0].getProvider();
80
+ * return {
81
+ * address: wallet.wallets[0].address,
82
+ * signMessage: provider.signMessage,
83
+ * signTransaction: provider.signTransaction,
84
+ * signAndSendTransaction: provider.signAndSendTransaction,
85
+ * };
86
+ * },
87
+ * });
88
+ * }, [privy.isReady, privy.user, wallet.wallets]);
89
+ * ```
90
+ */
91
+ setPrivyMethods(methods: PrivyExpoMethods): void;
92
+ login(): Promise<User | null>;
93
+ runTransaction(_evmTransactionData?: EVMTransaction, solTransactionData?: SolTransaction, options?: SetOptions): Promise<TransactionResult>;
94
+ signMessage(message: string): Promise<string>;
95
+ signTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
96
+ signAndSubmitTransaction(transaction: Transaction | VersionedTransaction, feePayer?: PublicKey): Promise<string>;
97
+ restoreSession(): Promise<User | null>;
98
+ logout(): Promise<void>;
99
+ getNativeMethods(): Promise<any>;
100
+ private createSession;
101
+ private getWalletOrThrow;
102
+ private signAndSubmitInternal;
103
+ private getRpcUrl;
104
+ private ensureReady;
105
+ }
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var globalAxios = require('axios');
5
- var index = require('./index-BV8MOXXy.js');
5
+ var index = require('./index-CMeewi-G.js');
6
6
  var web3_js = require('@solana/web3.js');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
  require('@coral-xyz/anchor');
@@ -3120,6 +3120,356 @@ function createAutoConfirmPlugin() {
3120
3120
  };
3121
3121
  }
3122
3122
 
3123
+ var eventemitter3 = {exports: {}};
3124
+
3125
+ var hasRequiredEventemitter3;
3126
+
3127
+ function requireEventemitter3 () {
3128
+ if (hasRequiredEventemitter3) return eventemitter3.exports;
3129
+ hasRequiredEventemitter3 = 1;
3130
+ (function (module) {
3131
+
3132
+ var has = Object.prototype.hasOwnProperty
3133
+ , prefix = '~';
3134
+
3135
+ /**
3136
+ * Constructor to create a storage for our `EE` objects.
3137
+ * An `Events` instance is a plain object whose properties are event names.
3138
+ *
3139
+ * @constructor
3140
+ * @private
3141
+ */
3142
+ function Events() {}
3143
+
3144
+ //
3145
+ // We try to not inherit from `Object.prototype`. In some engines creating an
3146
+ // instance in this way is faster than calling `Object.create(null)` directly.
3147
+ // If `Object.create(null)` is not supported we prefix the event names with a
3148
+ // character to make sure that the built-in object properties are not
3149
+ // overridden or used as an attack vector.
3150
+ //
3151
+ if (Object.create) {
3152
+ Events.prototype = Object.create(null);
3153
+
3154
+ //
3155
+ // This hack is needed because the `__proto__` property is still inherited in
3156
+ // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.
3157
+ //
3158
+ if (!new Events().__proto__) prefix = false;
3159
+ }
3160
+
3161
+ /**
3162
+ * Representation of a single event listener.
3163
+ *
3164
+ * @param {Function} fn The listener function.
3165
+ * @param {*} context The context to invoke the listener with.
3166
+ * @param {Boolean} [once=false] Specify if the listener is a one-time listener.
3167
+ * @constructor
3168
+ * @private
3169
+ */
3170
+ function EE(fn, context, once) {
3171
+ this.fn = fn;
3172
+ this.context = context;
3173
+ this.once = once || false;
3174
+ }
3175
+
3176
+ /**
3177
+ * Add a listener for a given event.
3178
+ *
3179
+ * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.
3180
+ * @param {(String|Symbol)} event The event name.
3181
+ * @param {Function} fn The listener function.
3182
+ * @param {*} context The context to invoke the listener with.
3183
+ * @param {Boolean} once Specify if the listener is a one-time listener.
3184
+ * @returns {EventEmitter}
3185
+ * @private
3186
+ */
3187
+ function addListener(emitter, event, fn, context, once) {
3188
+ if (typeof fn !== 'function') {
3189
+ throw new TypeError('The listener must be a function');
3190
+ }
3191
+
3192
+ var listener = new EE(fn, context || emitter, once)
3193
+ , evt = prefix ? prefix + event : event;
3194
+
3195
+ if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;
3196
+ else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);
3197
+ else emitter._events[evt] = [emitter._events[evt], listener];
3198
+
3199
+ return emitter;
3200
+ }
3201
+
3202
+ /**
3203
+ * Clear event by name.
3204
+ *
3205
+ * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.
3206
+ * @param {(String|Symbol)} evt The Event name.
3207
+ * @private
3208
+ */
3209
+ function clearEvent(emitter, evt) {
3210
+ if (--emitter._eventsCount === 0) emitter._events = new Events();
3211
+ else delete emitter._events[evt];
3212
+ }
3213
+
3214
+ /**
3215
+ * Minimal `EventEmitter` interface that is molded against the Node.js
3216
+ * `EventEmitter` interface.
3217
+ *
3218
+ * @constructor
3219
+ * @public
3220
+ */
3221
+ function EventEmitter() {
3222
+ this._events = new Events();
3223
+ this._eventsCount = 0;
3224
+ }
3225
+
3226
+ /**
3227
+ * Return an array listing the events for which the emitter has registered
3228
+ * listeners.
3229
+ *
3230
+ * @returns {Array}
3231
+ * @public
3232
+ */
3233
+ EventEmitter.prototype.eventNames = function eventNames() {
3234
+ var names = []
3235
+ , events
3236
+ , name;
3237
+
3238
+ if (this._eventsCount === 0) return names;
3239
+
3240
+ for (name in (events = this._events)) {
3241
+ if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);
3242
+ }
3243
+
3244
+ if (Object.getOwnPropertySymbols) {
3245
+ return names.concat(Object.getOwnPropertySymbols(events));
3246
+ }
3247
+
3248
+ return names;
3249
+ };
3250
+
3251
+ /**
3252
+ * Return the listeners registered for a given event.
3253
+ *
3254
+ * @param {(String|Symbol)} event The event name.
3255
+ * @returns {Array} The registered listeners.
3256
+ * @public
3257
+ */
3258
+ EventEmitter.prototype.listeners = function listeners(event) {
3259
+ var evt = prefix ? prefix + event : event
3260
+ , handlers = this._events[evt];
3261
+
3262
+ if (!handlers) return [];
3263
+ if (handlers.fn) return [handlers.fn];
3264
+
3265
+ for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {
3266
+ ee[i] = handlers[i].fn;
3267
+ }
3268
+
3269
+ return ee;
3270
+ };
3271
+
3272
+ /**
3273
+ * Return the number of listeners listening to a given event.
3274
+ *
3275
+ * @param {(String|Symbol)} event The event name.
3276
+ * @returns {Number} The number of listeners.
3277
+ * @public
3278
+ */
3279
+ EventEmitter.prototype.listenerCount = function listenerCount(event) {
3280
+ var evt = prefix ? prefix + event : event
3281
+ , listeners = this._events[evt];
3282
+
3283
+ if (!listeners) return 0;
3284
+ if (listeners.fn) return 1;
3285
+ return listeners.length;
3286
+ };
3287
+
3288
+ /**
3289
+ * Calls each of the listeners registered for a given event.
3290
+ *
3291
+ * @param {(String|Symbol)} event The event name.
3292
+ * @returns {Boolean} `true` if the event had listeners, else `false`.
3293
+ * @public
3294
+ */
3295
+ EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
3296
+ var evt = prefix ? prefix + event : event;
3297
+
3298
+ if (!this._events[evt]) return false;
3299
+
3300
+ var listeners = this._events[evt]
3301
+ , len = arguments.length
3302
+ , args
3303
+ , i;
3304
+
3305
+ if (listeners.fn) {
3306
+ if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);
3307
+
3308
+ switch (len) {
3309
+ case 1: return listeners.fn.call(listeners.context), true;
3310
+ case 2: return listeners.fn.call(listeners.context, a1), true;
3311
+ case 3: return listeners.fn.call(listeners.context, a1, a2), true;
3312
+ case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;
3313
+ case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
3314
+ case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
3315
+ }
3316
+
3317
+ for (i = 1, args = new Array(len -1); i < len; i++) {
3318
+ args[i - 1] = arguments[i];
3319
+ }
3320
+
3321
+ listeners.fn.apply(listeners.context, args);
3322
+ } else {
3323
+ var length = listeners.length
3324
+ , j;
3325
+
3326
+ for (i = 0; i < length; i++) {
3327
+ if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);
3328
+
3329
+ switch (len) {
3330
+ case 1: listeners[i].fn.call(listeners[i].context); break;
3331
+ case 2: listeners[i].fn.call(listeners[i].context, a1); break;
3332
+ case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;
3333
+ case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;
3334
+ default:
3335
+ if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {
3336
+ args[j - 1] = arguments[j];
3337
+ }
3338
+
3339
+ listeners[i].fn.apply(listeners[i].context, args);
3340
+ }
3341
+ }
3342
+ }
3343
+
3344
+ return true;
3345
+ };
3346
+
3347
+ /**
3348
+ * Add a listener for a given event.
3349
+ *
3350
+ * @param {(String|Symbol)} event The event name.
3351
+ * @param {Function} fn The listener function.
3352
+ * @param {*} [context=this] The context to invoke the listener with.
3353
+ * @returns {EventEmitter} `this`.
3354
+ * @public
3355
+ */
3356
+ EventEmitter.prototype.on = function on(event, fn, context) {
3357
+ return addListener(this, event, fn, context, false);
3358
+ };
3359
+
3360
+ /**
3361
+ * Add a one-time listener for a given event.
3362
+ *
3363
+ * @param {(String|Symbol)} event The event name.
3364
+ * @param {Function} fn The listener function.
3365
+ * @param {*} [context=this] The context to invoke the listener with.
3366
+ * @returns {EventEmitter} `this`.
3367
+ * @public
3368
+ */
3369
+ EventEmitter.prototype.once = function once(event, fn, context) {
3370
+ return addListener(this, event, fn, context, true);
3371
+ };
3372
+
3373
+ /**
3374
+ * Remove the listeners of a given event.
3375
+ *
3376
+ * @param {(String|Symbol)} event The event name.
3377
+ * @param {Function} fn Only remove the listeners that match this function.
3378
+ * @param {*} context Only remove the listeners that have this context.
3379
+ * @param {Boolean} once Only remove one-time listeners.
3380
+ * @returns {EventEmitter} `this`.
3381
+ * @public
3382
+ */
3383
+ EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
3384
+ var evt = prefix ? prefix + event : event;
3385
+
3386
+ if (!this._events[evt]) return this;
3387
+ if (!fn) {
3388
+ clearEvent(this, evt);
3389
+ return this;
3390
+ }
3391
+
3392
+ var listeners = this._events[evt];
3393
+
3394
+ if (listeners.fn) {
3395
+ if (
3396
+ listeners.fn === fn &&
3397
+ (!once || listeners.once) &&
3398
+ (!context || listeners.context === context)
3399
+ ) {
3400
+ clearEvent(this, evt);
3401
+ }
3402
+ } else {
3403
+ for (var i = 0, events = [], length = listeners.length; i < length; i++) {
3404
+ if (
3405
+ listeners[i].fn !== fn ||
3406
+ (once && !listeners[i].once) ||
3407
+ (context && listeners[i].context !== context)
3408
+ ) {
3409
+ events.push(listeners[i]);
3410
+ }
3411
+ }
3412
+
3413
+ //
3414
+ // Reset the array, or remove it completely if we have no more listeners.
3415
+ //
3416
+ if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;
3417
+ else clearEvent(this, evt);
3418
+ }
3419
+
3420
+ return this;
3421
+ };
3422
+
3423
+ /**
3424
+ * Remove all listeners, or those of the specified event.
3425
+ *
3426
+ * @param {(String|Symbol)} [event] The event name.
3427
+ * @returns {EventEmitter} `this`.
3428
+ * @public
3429
+ */
3430
+ EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
3431
+ var evt;
3432
+
3433
+ if (event) {
3434
+ evt = prefix ? prefix + event : event;
3435
+ if (this._events[evt]) clearEvent(this, evt);
3436
+ } else {
3437
+ this._events = new Events();
3438
+ this._eventsCount = 0;
3439
+ }
3440
+
3441
+ return this;
3442
+ };
3443
+
3444
+ //
3445
+ // Alias methods names because people roll like that.
3446
+ //
3447
+ EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
3448
+ EventEmitter.prototype.addListener = EventEmitter.prototype.on;
3449
+
3450
+ //
3451
+ // Expose the prefix.
3452
+ //
3453
+ EventEmitter.prefixed = prefix;
3454
+
3455
+ //
3456
+ // Allow `EventEmitter` to be imported as module namespace.
3457
+ //
3458
+ EventEmitter.EventEmitter = EventEmitter;
3459
+
3460
+ //
3461
+ // Expose the module.
3462
+ //
3463
+ {
3464
+ module.exports = EventEmitter;
3465
+ }
3466
+ } (eventemitter3));
3467
+ return eventemitter3.exports;
3468
+ }
3469
+
3470
+ var eventemitter3Exports = requireEventemitter3();
3471
+ var EventEmitter3 = /*@__PURE__*/index.getDefaultExportFromCjs(eventemitter3Exports);
3472
+
3123
3473
  // src/index.ts
3124
3474
  var isBrowser = typeof window !== "undefined" && typeof window.btoa !== "undefined";
3125
3475
  function base64urlEncode(data) {
@@ -8744,7 +9094,7 @@ var EmbeddedSolanaChain = class {
8744
9094
  this.currentNetworkId = NetworkId.SOLANA_MAINNET;
8745
9095
  this._connected = false;
8746
9096
  this._publicKey = null;
8747
- this.eventEmitter = new index.EventEmitter3();
9097
+ this.eventEmitter = new EventEmitter3();
8748
9098
  this.setupEventListeners();
8749
9099
  this.syncInitialState();
8750
9100
  }
@@ -8874,7 +9224,7 @@ var EmbeddedEthereumChain = class {
8874
9224
  this.currentNetworkId = NetworkId.ETHEREUM_MAINNET;
8875
9225
  this._connected = false;
8876
9226
  this._accounts = [];
8877
- this.eventEmitter = new index.EventEmitter3();
9227
+ this.eventEmitter = new EventEmitter3();
8878
9228
  this.setupEventListeners();
8879
9229
  this.syncInitialState();
8880
9230
  }
@@ -10724,7 +11074,7 @@ async function discoverWallets(addressTypes) {
10724
11074
  var InjectedWalletSolanaChain = class {
10725
11075
  constructor(provider, walletId, walletName) {
10726
11076
  // Expose eventEmitter for testing - allows tests to trigger events directly
10727
- this.eventEmitter = new index.EventEmitter3();
11077
+ this.eventEmitter = new EventEmitter3();
10728
11078
  this._connected = false;
10729
11079
  this._publicKey = null;
10730
11080
  this.provider = provider;
@@ -10966,7 +11316,7 @@ var InjectedWalletSolanaChain = class {
10966
11316
  };
10967
11317
  var WalletStandardSolanaAdapter = class {
10968
11318
  constructor(wallet, walletId, walletName) {
10969
- this.eventEmitter = new index.EventEmitter3();
11319
+ this.eventEmitter = new EventEmitter3();
10970
11320
  this._publicKey = null;
10971
11321
  this.wallet = wallet;
10972
11322
  this.walletId = walletId;
@@ -11318,7 +11668,7 @@ var WalletStandardSolanaAdapter = class {
11318
11668
  var InjectedWalletEthereumChain = class {
11319
11669
  constructor(provider, walletId, walletName) {
11320
11670
  // Expose eventEmitter for testing - allows tests to trigger events directly
11321
- this.eventEmitter = new index.EventEmitter3();
11671
+ this.eventEmitter = new EventEmitter3();
11322
11672
  this._connected = false;
11323
11673
  this._chainId = "0x1";
11324
11674
  this._accounts = [];
@@ -15574,4 +15924,4 @@ exports.useModal = useModal;
15574
15924
  exports.usePhantom = usePhantom;
15575
15925
  exports.useSolana = useSolana;
15576
15926
  exports.useTheme = useTheme;
15577
- //# sourceMappingURL=index-BFJJZKXQ.js.map
15927
+ //# sourceMappingURL=index-BHYrnHi6.js.map