@1sat/connect 0.0.78 → 0.0.81
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +319 -24
- package/dist/walletSession.d.ts +40 -0
- package/dist/walletSession.d.ts.map +1 -0
- package/package.json +41 -41
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { connectWallet, getAvailableProviders, loadLastProvider, type AvailableProvider, type ConnectWalletConfig, type ConnectWalletOptions, type ConnectWalletResult, type WalletProviderConfig, } from './connectWallet';
|
|
2
|
+
export { createWalletSession, type DisconnectReason, type DisconnectedEvent, type IdentityChangeEvent, type WalletSession, type WalletSessionOptions, type WalletSessionStatus, } from './walletSession';
|
|
2
3
|
export { completeSigmaOAuth, connectSigmaWallet, getStoredSigmaBapId, initiateSigmaOAuth, reconnectSigmaWallet, setSigmaIdentity, sigmaAuthClient, SIGMA_URL, type SigmaOAuthConfig, type SigmaOAuthResult, type SigmaProviderConfig, } from './sigma-oauth';
|
|
3
4
|
export { signRequest } from './auth';
|
|
4
5
|
export { AuthorizationTimeoutError, CodeReplayError, type ErrorCode, ErrorCodes, FallbackRequiredError, fromErrorResponse, InsufficientFundsError, OneSatError, PopupBlockedError, PopupClosedError, StateMismatchError, TimeoutError, TransportUnavailableError, UserRejectedError, WalletLockedError, WalletNotConnectedError, } from './errors';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GACzB,MAAM,iBAAiB,CAAA;AAIxB,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACxB,MAAM,eAAe,CAAA;AAItB,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAIpC,OAAO,EACN,yBAAyB,EACzB,eAAe,EACf,KAAK,SAAS,EACd,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,UAAU,CAAA;AAIjB,YAAY,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,SAAS,GACT,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GACzB,MAAM,iBAAiB,CAAA;AAIxB,OAAO,EACN,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACxB,MAAM,iBAAiB,CAAA;AAIxB,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACxB,MAAM,eAAe,CAAA;AAItB,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAIpC,OAAO,EACN,yBAAyB,EACzB,eAAe,EACf,KAAK,SAAS,EACd,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,UAAU,CAAA;AAIjB,YAAY,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,SAAS,GACT,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -80361,6 +80361,184 @@ var require_index_client5 = __commonJS((exports) => {
|
|
|
80361
80361
|
__exportStar(require_WalletPermissionsManager(), exports);
|
|
80362
80362
|
});
|
|
80363
80363
|
|
|
80364
|
+
// ../../node_modules/.bun/eventemitter3@5.0.4/node_modules/eventemitter3/index.js
|
|
80365
|
+
var require_eventemitter3 = __commonJS((exports, module) => {
|
|
80366
|
+
var has = Object.prototype.hasOwnProperty;
|
|
80367
|
+
var prefix = "~";
|
|
80368
|
+
function Events() {}
|
|
80369
|
+
if (Object.create) {
|
|
80370
|
+
Events.prototype = Object.create(null);
|
|
80371
|
+
if (!new Events().__proto__)
|
|
80372
|
+
prefix = false;
|
|
80373
|
+
}
|
|
80374
|
+
function EE(fn, context, once) {
|
|
80375
|
+
this.fn = fn;
|
|
80376
|
+
this.context = context;
|
|
80377
|
+
this.once = once || false;
|
|
80378
|
+
}
|
|
80379
|
+
function addListener(emitter, event, fn, context, once) {
|
|
80380
|
+
if (typeof fn !== "function") {
|
|
80381
|
+
throw new TypeError("The listener must be a function");
|
|
80382
|
+
}
|
|
80383
|
+
var listener = new EE(fn, context || emitter, once), evt = prefix ? prefix + event : event;
|
|
80384
|
+
if (!emitter._events[evt])
|
|
80385
|
+
emitter._events[evt] = listener, emitter._eventsCount++;
|
|
80386
|
+
else if (!emitter._events[evt].fn)
|
|
80387
|
+
emitter._events[evt].push(listener);
|
|
80388
|
+
else
|
|
80389
|
+
emitter._events[evt] = [emitter._events[evt], listener];
|
|
80390
|
+
return emitter;
|
|
80391
|
+
}
|
|
80392
|
+
function clearEvent(emitter, evt) {
|
|
80393
|
+
if (--emitter._eventsCount === 0)
|
|
80394
|
+
emitter._events = new Events;
|
|
80395
|
+
else
|
|
80396
|
+
delete emitter._events[evt];
|
|
80397
|
+
}
|
|
80398
|
+
function EventEmitter2() {
|
|
80399
|
+
this._events = new Events;
|
|
80400
|
+
this._eventsCount = 0;
|
|
80401
|
+
}
|
|
80402
|
+
EventEmitter2.prototype.eventNames = function eventNames() {
|
|
80403
|
+
var names = [], events, name;
|
|
80404
|
+
if (this._eventsCount === 0)
|
|
80405
|
+
return names;
|
|
80406
|
+
for (name in events = this._events) {
|
|
80407
|
+
if (has.call(events, name))
|
|
80408
|
+
names.push(prefix ? name.slice(1) : name);
|
|
80409
|
+
}
|
|
80410
|
+
if (Object.getOwnPropertySymbols) {
|
|
80411
|
+
return names.concat(Object.getOwnPropertySymbols(events));
|
|
80412
|
+
}
|
|
80413
|
+
return names;
|
|
80414
|
+
};
|
|
80415
|
+
EventEmitter2.prototype.listeners = function listeners(event) {
|
|
80416
|
+
var evt = prefix ? prefix + event : event, handlers = this._events[evt];
|
|
80417
|
+
if (!handlers)
|
|
80418
|
+
return [];
|
|
80419
|
+
if (handlers.fn)
|
|
80420
|
+
return [handlers.fn];
|
|
80421
|
+
for (var i2 = 0, l6 = handlers.length, ee = new Array(l6);i2 < l6; i2++) {
|
|
80422
|
+
ee[i2] = handlers[i2].fn;
|
|
80423
|
+
}
|
|
80424
|
+
return ee;
|
|
80425
|
+
};
|
|
80426
|
+
EventEmitter2.prototype.listenerCount = function listenerCount(event) {
|
|
80427
|
+
var evt = prefix ? prefix + event : event, listeners = this._events[evt];
|
|
80428
|
+
if (!listeners)
|
|
80429
|
+
return 0;
|
|
80430
|
+
if (listeners.fn)
|
|
80431
|
+
return 1;
|
|
80432
|
+
return listeners.length;
|
|
80433
|
+
};
|
|
80434
|
+
EventEmitter2.prototype.emit = function emit(event, a1, a22, a32, a4, a5) {
|
|
80435
|
+
var evt = prefix ? prefix + event : event;
|
|
80436
|
+
if (!this._events[evt])
|
|
80437
|
+
return false;
|
|
80438
|
+
var listeners = this._events[evt], len2 = arguments.length, args, i2;
|
|
80439
|
+
if (listeners.fn) {
|
|
80440
|
+
if (listeners.once)
|
|
80441
|
+
this.removeListener(event, listeners.fn, undefined, true);
|
|
80442
|
+
switch (len2) {
|
|
80443
|
+
case 1:
|
|
80444
|
+
return listeners.fn.call(listeners.context), true;
|
|
80445
|
+
case 2:
|
|
80446
|
+
return listeners.fn.call(listeners.context, a1), true;
|
|
80447
|
+
case 3:
|
|
80448
|
+
return listeners.fn.call(listeners.context, a1, a22), true;
|
|
80449
|
+
case 4:
|
|
80450
|
+
return listeners.fn.call(listeners.context, a1, a22, a32), true;
|
|
80451
|
+
case 5:
|
|
80452
|
+
return listeners.fn.call(listeners.context, a1, a22, a32, a4), true;
|
|
80453
|
+
case 6:
|
|
80454
|
+
return listeners.fn.call(listeners.context, a1, a22, a32, a4, a5), true;
|
|
80455
|
+
}
|
|
80456
|
+
for (i2 = 1, args = new Array(len2 - 1);i2 < len2; i2++) {
|
|
80457
|
+
args[i2 - 1] = arguments[i2];
|
|
80458
|
+
}
|
|
80459
|
+
listeners.fn.apply(listeners.context, args);
|
|
80460
|
+
} else {
|
|
80461
|
+
var length = listeners.length, j2;
|
|
80462
|
+
for (i2 = 0;i2 < length; i2++) {
|
|
80463
|
+
if (listeners[i2].once)
|
|
80464
|
+
this.removeListener(event, listeners[i2].fn, undefined, true);
|
|
80465
|
+
switch (len2) {
|
|
80466
|
+
case 1:
|
|
80467
|
+
listeners[i2].fn.call(listeners[i2].context);
|
|
80468
|
+
break;
|
|
80469
|
+
case 2:
|
|
80470
|
+
listeners[i2].fn.call(listeners[i2].context, a1);
|
|
80471
|
+
break;
|
|
80472
|
+
case 3:
|
|
80473
|
+
listeners[i2].fn.call(listeners[i2].context, a1, a22);
|
|
80474
|
+
break;
|
|
80475
|
+
case 4:
|
|
80476
|
+
listeners[i2].fn.call(listeners[i2].context, a1, a22, a32);
|
|
80477
|
+
break;
|
|
80478
|
+
default:
|
|
80479
|
+
if (!args)
|
|
80480
|
+
for (j2 = 1, args = new Array(len2 - 1);j2 < len2; j2++) {
|
|
80481
|
+
args[j2 - 1] = arguments[j2];
|
|
80482
|
+
}
|
|
80483
|
+
listeners[i2].fn.apply(listeners[i2].context, args);
|
|
80484
|
+
}
|
|
80485
|
+
}
|
|
80486
|
+
}
|
|
80487
|
+
return true;
|
|
80488
|
+
};
|
|
80489
|
+
EventEmitter2.prototype.on = function on(event, fn, context) {
|
|
80490
|
+
return addListener(this, event, fn, context, false);
|
|
80491
|
+
};
|
|
80492
|
+
EventEmitter2.prototype.once = function once(event, fn, context) {
|
|
80493
|
+
return addListener(this, event, fn, context, true);
|
|
80494
|
+
};
|
|
80495
|
+
EventEmitter2.prototype.removeListener = function removeListener(event, fn, context, once) {
|
|
80496
|
+
var evt = prefix ? prefix + event : event;
|
|
80497
|
+
if (!this._events[evt])
|
|
80498
|
+
return this;
|
|
80499
|
+
if (!fn) {
|
|
80500
|
+
clearEvent(this, evt);
|
|
80501
|
+
return this;
|
|
80502
|
+
}
|
|
80503
|
+
var listeners = this._events[evt];
|
|
80504
|
+
if (listeners.fn) {
|
|
80505
|
+
if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {
|
|
80506
|
+
clearEvent(this, evt);
|
|
80507
|
+
}
|
|
80508
|
+
} else {
|
|
80509
|
+
for (var i2 = 0, events = [], length = listeners.length;i2 < length; i2++) {
|
|
80510
|
+
if (listeners[i2].fn !== fn || once && !listeners[i2].once || context && listeners[i2].context !== context) {
|
|
80511
|
+
events.push(listeners[i2]);
|
|
80512
|
+
}
|
|
80513
|
+
}
|
|
80514
|
+
if (events.length)
|
|
80515
|
+
this._events[evt] = events.length === 1 ? events[0] : events;
|
|
80516
|
+
else
|
|
80517
|
+
clearEvent(this, evt);
|
|
80518
|
+
}
|
|
80519
|
+
return this;
|
|
80520
|
+
};
|
|
80521
|
+
EventEmitter2.prototype.removeAllListeners = function removeAllListeners(event) {
|
|
80522
|
+
var evt;
|
|
80523
|
+
if (event) {
|
|
80524
|
+
evt = prefix ? prefix + event : event;
|
|
80525
|
+
if (this._events[evt])
|
|
80526
|
+
clearEvent(this, evt);
|
|
80527
|
+
} else {
|
|
80528
|
+
this._events = new Events;
|
|
80529
|
+
this._eventsCount = 0;
|
|
80530
|
+
}
|
|
80531
|
+
return this;
|
|
80532
|
+
};
|
|
80533
|
+
EventEmitter2.prototype.off = EventEmitter2.prototype.removeListener;
|
|
80534
|
+
EventEmitter2.prototype.addListener = EventEmitter2.prototype.on;
|
|
80535
|
+
EventEmitter2.prefixed = prefix;
|
|
80536
|
+
EventEmitter2.EventEmitter = EventEmitter2;
|
|
80537
|
+
if (typeof module !== "undefined") {
|
|
80538
|
+
module.exports = EventEmitter2;
|
|
80539
|
+
}
|
|
80540
|
+
});
|
|
80541
|
+
|
|
80364
80542
|
// ../client/dist/errors.js
|
|
80365
80543
|
class HttpError extends Error {
|
|
80366
80544
|
status;
|
|
@@ -102507,10 +102685,126 @@ async function connectWallet(config) {
|
|
|
102507
102685
|
return null;
|
|
102508
102686
|
}
|
|
102509
102687
|
}
|
|
102510
|
-
// ../../node_modules/.bun/
|
|
102688
|
+
// ../../node_modules/.bun/eventemitter3@5.0.4/node_modules/eventemitter3/index.mjs
|
|
102689
|
+
var import__4 = __toESM(require_eventemitter3(), 1);
|
|
102690
|
+
var eventemitter3_default = import__4.default;
|
|
102691
|
+
|
|
102692
|
+
// src/walletSession.ts
|
|
102693
|
+
var DEFAULT_POLL_INTERVAL_MS = 4000;
|
|
102694
|
+
function createWalletSession(result, options) {
|
|
102695
|
+
const pollIntervalMs = options?.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
|
|
102696
|
+
const events = new eventemitter3_default;
|
|
102697
|
+
const providerDisconnect = result.disconnect;
|
|
102698
|
+
let wallet2 = result.wallet;
|
|
102699
|
+
let identityKey = result.identityKey;
|
|
102700
|
+
let status = "connected";
|
|
102701
|
+
let disconnectReason = null;
|
|
102702
|
+
const provider = result.provider;
|
|
102703
|
+
let timer = null;
|
|
102704
|
+
let inFlight = false;
|
|
102705
|
+
let generation = 0;
|
|
102706
|
+
function setStatus(next) {
|
|
102707
|
+
if (status === next)
|
|
102708
|
+
return;
|
|
102709
|
+
status = next;
|
|
102710
|
+
events.emit("status", next);
|
|
102711
|
+
}
|
|
102712
|
+
function stopPolling() {
|
|
102713
|
+
if (timer !== null) {
|
|
102714
|
+
clearInterval(timer);
|
|
102715
|
+
timer = null;
|
|
102716
|
+
}
|
|
102717
|
+
generation += 1;
|
|
102718
|
+
}
|
|
102719
|
+
async function tick(gen) {
|
|
102720
|
+
if (gen !== generation || status !== "connected" || !wallet2 || inFlight) {
|
|
102721
|
+
return;
|
|
102722
|
+
}
|
|
102723
|
+
inFlight = true;
|
|
102724
|
+
try {
|
|
102725
|
+
const auth2 = await wallet2.isAuthenticated({});
|
|
102726
|
+
if (gen !== generation || status !== "connected")
|
|
102727
|
+
return;
|
|
102728
|
+
if (!auth2.authenticated) {
|
|
102729
|
+
endSession("unauthenticated");
|
|
102730
|
+
return;
|
|
102731
|
+
}
|
|
102732
|
+
const { publicKey } = await wallet2.getPublicKey({ identityKey: true });
|
|
102733
|
+
if (gen !== generation || status !== "connected")
|
|
102734
|
+
return;
|
|
102735
|
+
if (publicKey && publicKey !== identityKey) {
|
|
102736
|
+
const previous = identityKey;
|
|
102737
|
+
identityKey = publicKey;
|
|
102738
|
+
events.emit("identityChange", {
|
|
102739
|
+
previous,
|
|
102740
|
+
next: publicKey
|
|
102741
|
+
});
|
|
102742
|
+
}
|
|
102743
|
+
} catch {
|
|
102744
|
+
if (gen !== generation || status !== "connected")
|
|
102745
|
+
return;
|
|
102746
|
+
endSession("unavailable");
|
|
102747
|
+
} finally {
|
|
102748
|
+
inFlight = false;
|
|
102749
|
+
}
|
|
102750
|
+
}
|
|
102751
|
+
function endSession(reason) {
|
|
102752
|
+
if (status === "disconnected")
|
|
102753
|
+
return;
|
|
102754
|
+
stopPolling();
|
|
102755
|
+
disconnectReason = reason;
|
|
102756
|
+
setStatus("disconnected");
|
|
102757
|
+
const w3 = wallet2;
|
|
102758
|
+
wallet2 = null;
|
|
102759
|
+
identityKey = null;
|
|
102760
|
+
try {
|
|
102761
|
+
providerDisconnect();
|
|
102762
|
+
} catch {}
|
|
102763
|
+
events.emit("disconnected", { reason });
|
|
102764
|
+
}
|
|
102765
|
+
const session = {
|
|
102766
|
+
get wallet() {
|
|
102767
|
+
return wallet2;
|
|
102768
|
+
},
|
|
102769
|
+
get identityKey() {
|
|
102770
|
+
return identityKey;
|
|
102771
|
+
},
|
|
102772
|
+
get status() {
|
|
102773
|
+
return status;
|
|
102774
|
+
},
|
|
102775
|
+
get provider() {
|
|
102776
|
+
return provider;
|
|
102777
|
+
},
|
|
102778
|
+
get disconnectReason() {
|
|
102779
|
+
return disconnectReason;
|
|
102780
|
+
},
|
|
102781
|
+
start() {
|
|
102782
|
+
if (status !== "connected" || timer !== null)
|
|
102783
|
+
return;
|
|
102784
|
+
const gen = generation;
|
|
102785
|
+
timer = setInterval(() => {
|
|
102786
|
+
tick(gen);
|
|
102787
|
+
}, pollIntervalMs);
|
|
102788
|
+
},
|
|
102789
|
+
stop() {
|
|
102790
|
+
stopPolling();
|
|
102791
|
+
},
|
|
102792
|
+
disconnect(reason = "manual") {
|
|
102793
|
+
endSession(reason);
|
|
102794
|
+
},
|
|
102795
|
+
on(event, handler) {
|
|
102796
|
+
events.on(event, handler);
|
|
102797
|
+
return () => {
|
|
102798
|
+
events.off(event, handler);
|
|
102799
|
+
};
|
|
102800
|
+
}
|
|
102801
|
+
};
|
|
102802
|
+
return session;
|
|
102803
|
+
}
|
|
102804
|
+
// ../../node_modules/.bun/nanostores@1.4.1/node_modules/nanostores/clean-stores/index.js
|
|
102511
102805
|
var clean2 = Symbol("clean");
|
|
102512
102806
|
|
|
102513
|
-
// ../../node_modules/.bun/nanostores@1.4.
|
|
102807
|
+
// ../../node_modules/.bun/nanostores@1.4.1/node_modules/nanostores/atom/index.js
|
|
102514
102808
|
var listenerQueue = [];
|
|
102515
102809
|
var lqIndex = 0;
|
|
102516
102810
|
var batchSeen = null;
|
|
@@ -102588,7 +102882,7 @@ var atom = (initialValue) => {
|
|
|
102588
102882
|
}
|
|
102589
102883
|
return $atom;
|
|
102590
102884
|
};
|
|
102591
|
-
// ../../node_modules/.bun/nanostores@1.4.
|
|
102885
|
+
// ../../node_modules/.bun/nanostores@1.4.1/node_modules/nanostores/lifecycle/index.js
|
|
102592
102886
|
var SET = 2;
|
|
102593
102887
|
var MOUNT = 5;
|
|
102594
102888
|
var UNMOUNT = 6;
|
|
@@ -102693,7 +102987,7 @@ var onMount = ($store, initialize) => {
|
|
|
102693
102987
|
};
|
|
102694
102988
|
});
|
|
102695
102989
|
};
|
|
102696
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
102990
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/client/equality.mjs
|
|
102697
102991
|
function isPlainObject(value) {
|
|
102698
102992
|
if (typeof value !== "object" || value === null)
|
|
102699
102993
|
return false;
|
|
@@ -102844,7 +103138,7 @@ var InternalAPIError = class extends Error {
|
|
|
102844
103138
|
var kAPIErrorHeaderSymbol = Symbol.for("better-call:api-error-headers");
|
|
102845
103139
|
var APIError = makeErrorForHideStackFrame(InternalAPIError, Error);
|
|
102846
103140
|
|
|
102847
|
-
// ../../node_modules/.bun/@better-auth+core@1.6.
|
|
103141
|
+
// ../../node_modules/.bun/@better-auth+core@1.6.24+de40f753a75684d3/node_modules/@better-auth/core/dist/error/index.mjs
|
|
102848
103142
|
var BetterAuthError = class extends Error {
|
|
102849
103143
|
constructor(message, options) {
|
|
102850
103144
|
super(message, options);
|
|
@@ -102854,7 +103148,7 @@ var BetterAuthError = class extends Error {
|
|
|
102854
103148
|
}
|
|
102855
103149
|
};
|
|
102856
103150
|
|
|
102857
|
-
// ../../node_modules/.bun/@sigma-auth+better-auth-plugin@0.0.92+
|
|
103151
|
+
// ../../node_modules/.bun/@sigma-auth+better-auth-plugin@0.0.92+f7d1acf83eac3b9f/node_modules/@sigma-auth/better-auth-plugin/dist/client/local-signer.js
|
|
102858
103152
|
class LocalServerSigner {
|
|
102859
103153
|
baseUrl;
|
|
102860
103154
|
timeout;
|
|
@@ -103082,7 +103376,7 @@ class LocalServerSigner {
|
|
|
103082
103376
|
}
|
|
103083
103377
|
}
|
|
103084
103378
|
|
|
103085
|
-
// ../../node_modules/.bun/@sigma-auth+better-auth-plugin@0.0.92+
|
|
103379
|
+
// ../../node_modules/.bun/@sigma-auth+better-auth-plugin@0.0.92+f7d1acf83eac3b9f/node_modules/@sigma-auth/better-auth-plugin/dist/client/sigma-cwi.js
|
|
103086
103380
|
var isRecord3 = (v3) => typeof v3 === "object" && v3 !== null;
|
|
103087
103381
|
var isResponse3 = (v3) => isRecord3(v3) && v3.type === "CWI" && v3.isInvocation === false && typeof v3.id === "string";
|
|
103088
103382
|
var isState3 = (v3) => isRecord3(v3) && v3.type === "CWI" && isRecord3(v3.cwiState);
|
|
@@ -103323,7 +103617,7 @@ class SigmaCWISigner {
|
|
|
103323
103617
|
this.pending.clear();
|
|
103324
103618
|
}
|
|
103325
103619
|
}
|
|
103326
|
-
// ../../node_modules/.bun/@sigma-auth+better-auth-plugin@0.0.92+
|
|
103620
|
+
// ../../node_modules/.bun/@sigma-auth+better-auth-plugin@0.0.92+f7d1acf83eac3b9f/node_modules/@sigma-auth/better-auth-plugin/dist/client/signer.js
|
|
103327
103621
|
class SigmaIframeSigner {
|
|
103328
103622
|
iframe = null;
|
|
103329
103623
|
pendingRequests = new Map;
|
|
@@ -103721,7 +104015,7 @@ class SigmaIframeSigner {
|
|
|
103721
104015
|
this.rejectAllPending(new Error("Signer destroyed"));
|
|
103722
104016
|
}
|
|
103723
104017
|
}
|
|
103724
|
-
// ../../node_modules/.bun/@sigma-auth+better-auth-plugin@0.0.92+
|
|
104018
|
+
// ../../node_modules/.bun/@sigma-auth+better-auth-plugin@0.0.92+f7d1acf83eac3b9f/node_modules/@sigma-auth/better-auth-plugin/dist/client/index.js
|
|
103725
104019
|
var signer = null;
|
|
103726
104020
|
var signerType = null;
|
|
103727
104021
|
var storedBapId = null;
|
|
@@ -104229,7 +104523,7 @@ Backend: ${status} (${endpoint})`;
|
|
|
104229
104523
|
};
|
|
104230
104524
|
};
|
|
104231
104525
|
|
|
104232
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
104526
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/client/broadcast-channel.mjs
|
|
104233
104527
|
var kBroadcastChannel = Symbol.for("better-auth:broadcast-channel");
|
|
104234
104528
|
var now = () => Math.floor(Date.now() / 1000);
|
|
104235
104529
|
var WindowBroadcastChannel = class {
|
|
@@ -104277,7 +104571,7 @@ function getGlobalBroadcastChannel(name = "better-auth.message") {
|
|
|
104277
104571
|
return globalThis[kBroadcastChannel];
|
|
104278
104572
|
}
|
|
104279
104573
|
|
|
104280
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
104574
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/client/focus-manager.mjs
|
|
104281
104575
|
var kFocusManager = Symbol.for("better-auth:focus-manager");
|
|
104282
104576
|
var WindowFocusManager = class {
|
|
104283
104577
|
listeners = /* @__PURE__ */ new Set;
|
|
@@ -104309,7 +104603,7 @@ function getGlobalFocusManager() {
|
|
|
104309
104603
|
return globalThis[kFocusManager];
|
|
104310
104604
|
}
|
|
104311
104605
|
|
|
104312
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
104606
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/client/online-manager.mjs
|
|
104313
104607
|
var kOnlineManager = Symbol.for("better-auth:online-manager");
|
|
104314
104608
|
var WindowOnlineManager = class {
|
|
104315
104609
|
listeners = /* @__PURE__ */ new Set;
|
|
@@ -104343,7 +104637,7 @@ function getGlobalOnlineManager() {
|
|
|
104343
104637
|
return globalThis[kOnlineManager];
|
|
104344
104638
|
}
|
|
104345
104639
|
|
|
104346
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
104640
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/client/parser.mjs
|
|
104347
104641
|
var PROTO_POLLUTION_PATTERNS = {
|
|
104348
104642
|
proto: /"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,
|
|
104349
104643
|
constructor: /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,
|
|
@@ -104421,7 +104715,7 @@ function parseJSON(value, options = { strict: true }) {
|
|
|
104421
104715
|
return betterJSONParse(value, options);
|
|
104422
104716
|
}
|
|
104423
104717
|
|
|
104424
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
104718
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/client/session-refresh.mjs
|
|
104425
104719
|
var now2 = () => Math.floor(Date.now() / 1000);
|
|
104426
104720
|
var FOCUS_REFETCH_RATE_LIMIT_SECONDS = 5;
|
|
104427
104721
|
function createSessionRefreshManager(opts) {
|
|
@@ -104553,7 +104847,7 @@ function createSessionRefreshManager(opts) {
|
|
|
104553
104847
|
};
|
|
104554
104848
|
}
|
|
104555
104849
|
|
|
104556
|
-
// ../../node_modules/.bun/@better-auth+core@1.6.
|
|
104850
|
+
// ../../node_modules/.bun/@better-auth+core@1.6.24+de40f753a75684d3/node_modules/@better-auth/core/dist/env/env-impl.mjs
|
|
104557
104851
|
var _envShim = Object.create(null);
|
|
104558
104852
|
var _getEnv = (useShim) => globalThis.process?.env || globalThis.Deno?.env.toObject() || globalThis.__env__ || (useShim ? _envShim : globalThis);
|
|
104559
104853
|
var env = new Proxy(_envShim, {
|
|
@@ -104613,7 +104907,7 @@ var ENV = Object.freeze({
|
|
|
104613
104907
|
return getEnvVar("BETTER_AUTH_TELEMETRY_ENDPOINT", "");
|
|
104614
104908
|
}
|
|
104615
104909
|
});
|
|
104616
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
104910
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/utils/url.mjs
|
|
104617
104911
|
var SLASH_CHAR_CODE = 47;
|
|
104618
104912
|
function trimTrailingSlashes(value) {
|
|
104619
104913
|
let end = value.length;
|
|
@@ -104704,7 +104998,7 @@ function getOrigin(url) {
|
|
|
104704
104998
|
}
|
|
104705
104999
|
}
|
|
104706
105000
|
|
|
104707
|
-
// ../../node_modules/.bun/@better-auth+core@1.6.
|
|
105001
|
+
// ../../node_modules/.bun/@better-auth+core@1.6.24+de40f753a75684d3/node_modules/@better-auth/core/dist/utils/url.mjs
|
|
104708
105002
|
var DANGEROUS_URL_SCHEMES = [
|
|
104709
105003
|
"javascript:",
|
|
104710
105004
|
"data:",
|
|
@@ -104720,7 +105014,7 @@ function isSafeUrlScheme(value) {
|
|
|
104720
105014
|
return !DANGEROUS_URL_SCHEMES.includes(parsed.protocol);
|
|
104721
105015
|
}
|
|
104722
105016
|
|
|
104723
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
105017
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/client/fetch-plugins.mjs
|
|
104724
105018
|
var redirectPlugin = {
|
|
104725
105019
|
id: "redirect",
|
|
104726
105020
|
name: "Redirect",
|
|
@@ -104736,7 +105030,7 @@ var redirectPlugin = {
|
|
|
104736
105030
|
} }
|
|
104737
105031
|
};
|
|
104738
105032
|
|
|
104739
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
105033
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/client/session-atom.mjs
|
|
104740
105034
|
var isServer = () => typeof window === "undefined";
|
|
104741
105035
|
function normalizeSessionResponse(res) {
|
|
104742
105036
|
if (typeof res === "object" && res !== null && "data" in res && "error" in res)
|
|
@@ -105577,7 +105871,7 @@ var betterFetch = async (url, options) => {
|
|
|
105577
105871
|
};
|
|
105578
105872
|
};
|
|
105579
105873
|
|
|
105580
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
105874
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/client/config.mjs
|
|
105581
105875
|
var resolvePublicAuthUrl = (basePath) => {
|
|
105582
105876
|
if (typeof process === "undefined")
|
|
105583
105877
|
return;
|
|
@@ -105687,12 +105981,12 @@ var getClientConfig = (options, loadEnv) => {
|
|
|
105687
105981
|
};
|
|
105688
105982
|
};
|
|
105689
105983
|
|
|
105690
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
105984
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/utils/is-atom.mjs
|
|
105691
105985
|
function isAtom(value) {
|
|
105692
105986
|
return typeof value === "object" && value !== null && "get" in value && typeof value.get === "function" && "lc" in value && typeof value.lc === "number";
|
|
105693
105987
|
}
|
|
105694
105988
|
|
|
105695
|
-
// ../../node_modules/.bun/@better-auth+core@1.6.
|
|
105989
|
+
// ../../node_modules/.bun/@better-auth+core@1.6.24+de40f753a75684d3/node_modules/@better-auth/core/dist/utils/string.mjs
|
|
105696
105990
|
function capitalizeFirstLetter(str) {
|
|
105697
105991
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
105698
105992
|
}
|
|
@@ -105705,7 +105999,7 @@ function toKebabCase(input) {
|
|
|
105705
105999
|
return splitWords(input).map((word) => word.toLowerCase()).join("-");
|
|
105706
106000
|
}
|
|
105707
106001
|
|
|
105708
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
106002
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/client/proxy.mjs
|
|
105709
106003
|
function getMethod3(path, knownPathMethods, args) {
|
|
105710
106004
|
const method = knownPathMethods[path];
|
|
105711
106005
|
const { fetchOptions, query: _query, ...body } = args || {};
|
|
@@ -105787,7 +106081,7 @@ function createDynamicPathProxy(routes, client, knownPathMethods, atoms, atomLis
|
|
|
105787
106081
|
return createProxy();
|
|
105788
106082
|
}
|
|
105789
106083
|
|
|
105790
|
-
// ../../node_modules/.bun/better-auth@1.6.
|
|
106084
|
+
// ../../node_modules/.bun/better-auth@1.6.24+1e95e03b8c0caf29/node_modules/better-auth/dist/client/vanilla.mjs
|
|
105791
106085
|
function createAuthClient(options) {
|
|
105792
106086
|
const { pluginPathMethods, pluginsActions, pluginsAtoms, $fetch, atomListeners, $store } = getClientConfig(options);
|
|
105793
106087
|
const resolvedHooks = {};
|
|
@@ -106070,6 +106364,7 @@ export {
|
|
|
106070
106364
|
getStoredSigmaBapId,
|
|
106071
106365
|
getAvailableProviders,
|
|
106072
106366
|
fromErrorResponse,
|
|
106367
|
+
createWalletSession,
|
|
106073
106368
|
connectWallet,
|
|
106074
106369
|
connectSigmaWallet,
|
|
106075
106370
|
completeSigmaOAuth,
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { WalletInterface } from '@bsv/sdk';
|
|
2
|
+
import type { ConnectWalletResult } from './connectWallet';
|
|
3
|
+
export type WalletSessionStatus = 'connected' | 'disconnected';
|
|
4
|
+
export type DisconnectReason = 'unauthenticated' | 'unavailable' | 'manual';
|
|
5
|
+
export interface WalletSessionOptions {
|
|
6
|
+
/** How often to check auth + identity. Default 4000ms. */
|
|
7
|
+
pollIntervalMs?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface IdentityChangeEvent {
|
|
10
|
+
previous: string;
|
|
11
|
+
next: string;
|
|
12
|
+
}
|
|
13
|
+
export interface DisconnectedEvent {
|
|
14
|
+
reason: DisconnectReason;
|
|
15
|
+
}
|
|
16
|
+
export interface WalletSession {
|
|
17
|
+
readonly wallet: WalletInterface | null;
|
|
18
|
+
readonly identityKey: string | null;
|
|
19
|
+
readonly status: WalletSessionStatus;
|
|
20
|
+
readonly provider: string | null;
|
|
21
|
+
readonly disconnectReason: DisconnectReason | null;
|
|
22
|
+
/** Start the poll loop (idempotent). No-op if already disconnected. */
|
|
23
|
+
start(): void;
|
|
24
|
+
/** Stop polling without clearing session state. */
|
|
25
|
+
stop(): void;
|
|
26
|
+
/** Stop polling, call provider disconnect, clear session, emit disconnected. */
|
|
27
|
+
disconnect(reason?: DisconnectReason): void;
|
|
28
|
+
on(event: 'identityChange', handler: (e: IdentityChangeEvent) => void): () => void;
|
|
29
|
+
on(event: 'disconnected', handler: (e: DisconnectedEvent) => void): () => void;
|
|
30
|
+
on(event: 'status', handler: (status: WalletSessionStatus) => void): () => void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Holds a connected BRC-100 wallet and watches for identity / auth changes.
|
|
34
|
+
*
|
|
35
|
+
* Polling is gated on `isAuthenticated` so a locked wallet does not trigger
|
|
36
|
+
* unlock popups via `getPublicKey`. When auth is lost or the substrate fails,
|
|
37
|
+
* the session disconnects and emits `disconnected`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function createWalletSession(result: Pick<ConnectWalletResult, 'wallet' | 'identityKey' | 'provider' | 'disconnect'>, options?: WalletSessionOptions): WalletSession;
|
|
40
|
+
//# sourceMappingURL=walletSession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletSession.d.ts","sourceRoot":"","sources":["../src/walletSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,cAAc,CAAA;AAE9D,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,aAAa,GAAG,QAAQ,CAAA;AAE3E,MAAM,WAAW,oBAAoB;IACpC,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,gBAAgB,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAElD,uEAAuE;IACvE,KAAK,IAAI,IAAI,CAAA;IACb,mDAAmD;IACnD,IAAI,IAAI,IAAI,CAAA;IACZ,gFAAgF;IAChF,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAE3C,EAAE,CACD,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,IAAI,GACvC,MAAM,IAAI,CAAA;IACb,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IAC9E,EAAE,CACD,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,GAC5C,MAAM,IAAI,CAAA;CACb;AAID;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,IAAI,CACX,mBAAmB,EACnB,QAAQ,GAAG,aAAa,GAAG,UAAU,GAAG,YAAY,CACpD,EACD,OAAO,CAAC,EAAE,oBAAoB,GAC5B,aAAa,CA+Hf"}
|
package/package.json
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
2
|
+
"name": "@1sat/connect",
|
|
3
|
+
"version": "0.0.81",
|
|
4
|
+
"description": "Connection layer for 1Sat wallet - popup flow, events, session management",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "bun build ./src/index.ts --outdir ./dist --target browser && tsc --emitDeclarationOnly",
|
|
19
|
+
"dev": "tsc --watch"
|
|
20
|
+
},
|
|
21
|
+
"keywords": [
|
|
22
|
+
"1sat",
|
|
23
|
+
"bsv",
|
|
24
|
+
"ordinals",
|
|
25
|
+
"wallet",
|
|
26
|
+
"sdk",
|
|
27
|
+
"connect"
|
|
28
|
+
],
|
|
29
|
+
"license": "MIT",
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@1sat/wallet": "0.0.96",
|
|
32
|
+
"@sigma-auth/better-auth-plugin": "^0.0.92",
|
|
33
|
+
"better-auth": "^1.6.18",
|
|
34
|
+
"eventemitter3": "^5.0.1"
|
|
35
|
+
},
|
|
36
|
+
"peerDependencies": {
|
|
37
|
+
"@bsv/sdk": "^2.1.6"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@bsv/sdk": "^2.1.6",
|
|
41
|
+
"typescript": "^5.9.3"
|
|
42
|
+
}
|
|
43
43
|
}
|