@1sat/connect 0.0.5 → 0.0.7
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 +10 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +141 -94
- package/dist/messages.d.ts.map +1 -1
- package/dist/popup.d.ts +1 -1
- package/dist/popup.d.ts.map +1 -1
- package/dist/provider.d.ts +2 -2
- package/dist/provider.d.ts.map +1 -1
- package/dist/transport.d.ts +1 -0
- package/dist/transport.d.ts.map +1 -1
- package/dist/types.d.ts +33 -16
- package/dist/types.d.ts.map +1 -1
- package/package.json +34 -25
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { OneSatConfig, OneSatProvider } from
|
|
2
|
-
export
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
1
|
+
import type { OneSatConfig, OneSatProvider } from "./types";
|
|
2
|
+
export { AuthorizationTimeoutError, CodeReplayError, type ErrorCode, ErrorCodes, FallbackRequiredError, fromErrorResponse, InsufficientFundsError, OneSatError, PopupBlockedError, PopupClosedError, StateMismatchError, TimeoutError, TransportUnavailableError, UserRejectedError, WalletLockedError, WalletNotConnectedError, } from "./errors";
|
|
3
|
+
export { type BaseMessage, createErrorResponse, createRequest, createResponse, isResponse, isValidMessage, type MessageType, MessageTypes, PROTOCOL_VERSION, type ProtocolMessage, type RequestMessage, type ResponseMessage, } from "./messages";
|
|
4
|
+
export { type PendingRequest, type PopupConfig, PopupManager } from "./popup";
|
|
5
|
+
export { OneSatBrowserProvider } from "./provider";
|
|
6
|
+
export { clearConnection, hasStoredConnection, loadConnection, type StoredConnection, saveConnection, } from "./storage";
|
|
7
|
+
export { AutoTransport, createAutoTransport, createEmbedTransport, createRedirectTransport, EmbedTransport, RedirectTransport, } from "./transport";
|
|
8
|
+
export type { BalanceResult, CancelListingRequest, ConnectParams, ConnectResult, CreateListingRequest, CWIHandshakeReason, CWIRequestMessage, CWIResponseMessage, CWIState, CWIStateMessage, CWITransport, CWITransportConfig, CWITransportEvent, CWITransportEventHandler, CWITransportName, CWIWalletStatus, EventHandler, InscribeRequest, InscribeResult, ListingResult, ListOptions, MobileFallbackMode, OneSatConfig, OneSatEvent, OneSatProvider, OrdinalOutput, PurchaseListingRequest, RpcMethod, SendOrdinalsRequest, SendResult, SignMessageResult, SignTransactionRequest, SignTransactionResult, TokenOutput, TransferTokenRequest, TransportMode, Utxo, } from "./types";
|
|
9
|
+
export { RpcMethods } from "./types";
|
|
10
|
+
export { closePopup, getPopupContext, isPopupContext, type PopupParams, parsePopupParams, rejectRequest, sendErrorResponse, sendResponse, walletLockedError, walletNotConnectedError, } from "./wallet";
|
|
11
11
|
/**
|
|
12
12
|
* Check if the OneSat provider is injected by browser extension
|
|
13
13
|
* Extensions inject window.onesat with isOneSat: true
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG5D,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,CAAC;AAElB,OAAO,EACN,KAAK,WAAW,EAChB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,UAAU,EACV,cAAc,EACd,KAAK,WAAW,EAChB,YAAY,EACZ,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,KAAK,gBAAgB,EACrB,cAAc,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,EACd,iBAAiB,GACjB,MAAM,aAAa,CAAC;AAErB,YAAY,EACX,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,IAAI,GACJ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACN,UAAU,EACV,eAAe,EACf,cAAc,EACd,KAAK,WAAW,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAM1C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAK9D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,CAgBlE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,CAE/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,SAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAuBrE"}
|
package/dist/index.js
CHANGED
|
@@ -392,20 +392,38 @@ function isValidMessage(data) {
|
|
|
392
392
|
if (typeof data !== "object" || data === null)
|
|
393
393
|
return false;
|
|
394
394
|
const msg = data;
|
|
395
|
-
|
|
395
|
+
let type;
|
|
396
|
+
let version;
|
|
397
|
+
let requestId;
|
|
398
|
+
let origin;
|
|
399
|
+
try {
|
|
400
|
+
type = msg.type;
|
|
401
|
+
version = msg.version;
|
|
402
|
+
requestId = msg.requestId;
|
|
403
|
+
origin = msg.origin;
|
|
404
|
+
} catch {
|
|
396
405
|
return false;
|
|
397
|
-
|
|
406
|
+
}
|
|
407
|
+
if (typeof type !== "string")
|
|
398
408
|
return false;
|
|
399
|
-
if (typeof
|
|
409
|
+
if (typeof version !== "string")
|
|
400
410
|
return false;
|
|
401
|
-
if (typeof
|
|
411
|
+
if (typeof requestId !== "string")
|
|
402
412
|
return false;
|
|
403
|
-
if (
|
|
404
|
-
|
|
413
|
+
if (typeof origin !== "string")
|
|
414
|
+
return false;
|
|
415
|
+
if (type === MessageTypes.REQUEST) {
|
|
416
|
+
let method;
|
|
417
|
+
try {
|
|
418
|
+
method = msg.method;
|
|
419
|
+
} catch {
|
|
420
|
+
return false;
|
|
421
|
+
}
|
|
422
|
+
if (typeof method !== "string")
|
|
405
423
|
return false;
|
|
406
424
|
return true;
|
|
407
425
|
}
|
|
408
|
-
if (
|
|
426
|
+
if (type === MessageTypes.RESPONSE) {
|
|
409
427
|
return true;
|
|
410
428
|
}
|
|
411
429
|
return false;
|
|
@@ -415,7 +433,7 @@ function isResponse(msg) {
|
|
|
415
433
|
}
|
|
416
434
|
|
|
417
435
|
// src/popup.ts
|
|
418
|
-
var DEFAULT_POPUP_URL = "https://
|
|
436
|
+
var DEFAULT_POPUP_URL = "https://www.1satwallet.com";
|
|
419
437
|
var DEFAULT_TIMEOUT = 300000;
|
|
420
438
|
var POPUP_CHECK_INTERVAL = 500;
|
|
421
439
|
|
|
@@ -556,7 +574,7 @@ var RpcMethods = {
|
|
|
556
574
|
};
|
|
557
575
|
|
|
558
576
|
// src/provider.ts
|
|
559
|
-
var DEFAULT_POPUP_URL2 = "https://
|
|
577
|
+
var DEFAULT_POPUP_URL2 = "https://www.1satwallet.com";
|
|
560
578
|
var DEFAULT_TIMEOUT2 = 300000;
|
|
561
579
|
|
|
562
580
|
class OneSatBrowserProvider {
|
|
@@ -579,13 +597,21 @@ class OneSatBrowserProvider {
|
|
|
579
597
|
}
|
|
580
598
|
}
|
|
581
599
|
handleMessage = (event) => {
|
|
582
|
-
|
|
600
|
+
let eventOrigin;
|
|
601
|
+
let eventData;
|
|
602
|
+
try {
|
|
603
|
+
eventOrigin = event.origin;
|
|
604
|
+
eventData = event.data;
|
|
605
|
+
} catch {
|
|
583
606
|
return;
|
|
584
|
-
|
|
607
|
+
}
|
|
608
|
+
if (eventOrigin !== this.popupOrigin)
|
|
609
|
+
return;
|
|
610
|
+
if (!isValidMessage(eventData))
|
|
585
611
|
return;
|
|
586
|
-
if (!isResponse(
|
|
612
|
+
if (!isResponse(eventData))
|
|
587
613
|
return;
|
|
588
|
-
const { requestId, result, error } =
|
|
614
|
+
const { requestId, result, error } = eventData;
|
|
589
615
|
if (!this.popupManager.hasPendingRequest(requestId))
|
|
590
616
|
return;
|
|
591
617
|
if (error) {
|
|
@@ -601,8 +627,8 @@ class OneSatBrowserProvider {
|
|
|
601
627
|
const requestId = this.generateRequestId();
|
|
602
628
|
return this.popupManager.openPopup(method, requestId, params);
|
|
603
629
|
}
|
|
604
|
-
async connect() {
|
|
605
|
-
const result = await this.sendRequest(RpcMethods.CONNECT);
|
|
630
|
+
async connect(params) {
|
|
631
|
+
const result = await this.sendRequest(RpcMethods.CONNECT, params?.challenge ? { challenge: params.challenge } : undefined);
|
|
606
632
|
this.connection = {
|
|
607
633
|
...result,
|
|
608
634
|
connectedAt: Date.now()
|
|
@@ -700,72 +726,6 @@ class OneSatBrowserProvider {
|
|
|
700
726
|
this.events.removeAllListeners();
|
|
701
727
|
}
|
|
702
728
|
}
|
|
703
|
-
// src/wallet.ts
|
|
704
|
-
function parsePopupParams(searchParams) {
|
|
705
|
-
const requestId = searchParams.get("requestId");
|
|
706
|
-
const origin = searchParams.get("origin");
|
|
707
|
-
const method = searchParams.get("method");
|
|
708
|
-
const appName = searchParams.get("appName");
|
|
709
|
-
const paramsStr = searchParams.get("params");
|
|
710
|
-
let params = undefined;
|
|
711
|
-
if (paramsStr) {
|
|
712
|
-
try {
|
|
713
|
-
params = JSON.parse(decodeURIComponent(paramsStr));
|
|
714
|
-
} catch {}
|
|
715
|
-
}
|
|
716
|
-
return { requestId, origin, method, appName, params };
|
|
717
|
-
}
|
|
718
|
-
function sendResponse(requestId, result, origin) {
|
|
719
|
-
if (typeof window === "undefined")
|
|
720
|
-
return;
|
|
721
|
-
if (!window.opener) {
|
|
722
|
-
console.error("[onesat] No opener window found");
|
|
723
|
-
return;
|
|
724
|
-
}
|
|
725
|
-
const response = createResponse(requestId, result, origin);
|
|
726
|
-
window.opener.postMessage(response, origin);
|
|
727
|
-
window.close();
|
|
728
|
-
}
|
|
729
|
-
function sendErrorResponse(requestId, code, message, origin, data) {
|
|
730
|
-
if (typeof window === "undefined")
|
|
731
|
-
return;
|
|
732
|
-
if (!window.opener) {
|
|
733
|
-
console.error("[onesat] No opener window found");
|
|
734
|
-
return;
|
|
735
|
-
}
|
|
736
|
-
const response = createErrorResponse(requestId, code, message, origin, data);
|
|
737
|
-
window.opener.postMessage(response, origin);
|
|
738
|
-
window.close();
|
|
739
|
-
}
|
|
740
|
-
function rejectRequest(requestId, origin, reason = "User rejected the request") {
|
|
741
|
-
sendErrorResponse(requestId, ErrorCodes.USER_REJECTED, reason, origin);
|
|
742
|
-
}
|
|
743
|
-
function walletLockedError(requestId, origin) {
|
|
744
|
-
sendErrorResponse(requestId, ErrorCodes.WALLET_LOCKED, "Wallet is locked. Please unlock your wallet.", origin);
|
|
745
|
-
}
|
|
746
|
-
function walletNotConnectedError(requestId, origin) {
|
|
747
|
-
sendErrorResponse(requestId, ErrorCodes.WALLET_NOT_CONNECTED, "Wallet is not connected", origin);
|
|
748
|
-
}
|
|
749
|
-
function closePopup() {
|
|
750
|
-
if (typeof window !== "undefined") {
|
|
751
|
-
window.close();
|
|
752
|
-
}
|
|
753
|
-
}
|
|
754
|
-
function isPopupContext() {
|
|
755
|
-
if (typeof window === "undefined")
|
|
756
|
-
return false;
|
|
757
|
-
return window.opener !== null;
|
|
758
|
-
}
|
|
759
|
-
function getPopupContext(searchParams) {
|
|
760
|
-
const { requestId, origin, method, appName, params } = parsePopupParams(searchParams);
|
|
761
|
-
if (!requestId) {
|
|
762
|
-
throw new Error("Missing requestId in popup parameters");
|
|
763
|
-
}
|
|
764
|
-
if (!origin) {
|
|
765
|
-
throw new Error("Missing origin in popup parameters");
|
|
766
|
-
}
|
|
767
|
-
return { requestId, origin, method, appName, params };
|
|
768
|
-
}
|
|
769
729
|
// src/transport.ts
|
|
770
730
|
var DEFAULT_WALLET_URL = "https://1sat.market";
|
|
771
731
|
var DEFAULT_IFRAME_PATH = "/wallet/cwi";
|
|
@@ -931,12 +891,23 @@ class EmbedTransport {
|
|
|
931
891
|
handleMessage = (event) => {
|
|
932
892
|
if (this.isDestroyed)
|
|
933
893
|
return;
|
|
934
|
-
|
|
894
|
+
let eventOrigin;
|
|
895
|
+
let eventSource;
|
|
896
|
+
let eventData;
|
|
897
|
+
try {
|
|
898
|
+
eventOrigin = event.origin;
|
|
899
|
+
eventSource = event.source;
|
|
900
|
+
eventData = event.data;
|
|
901
|
+
} catch {
|
|
902
|
+
return;
|
|
903
|
+
}
|
|
904
|
+
if (eventOrigin !== this.walletOrigin)
|
|
935
905
|
return;
|
|
936
|
-
|
|
906
|
+
const iframeWindow = this.getIframeWindow();
|
|
907
|
+
if (!iframeWindow || eventSource !== iframeWindow)
|
|
937
908
|
return;
|
|
938
|
-
if (isCWIStateMessage(
|
|
939
|
-
const state = normalizeState(
|
|
909
|
+
if (isCWIStateMessage(eventData)) {
|
|
910
|
+
const state = normalizeState(eventData.cwiState);
|
|
940
911
|
this.lastState = state;
|
|
941
912
|
this.resolveStateWaiters(state);
|
|
942
913
|
this.updateIframeVisibility(state.hasPermission === true);
|
|
@@ -949,24 +920,34 @@ class EmbedTransport {
|
|
|
949
920
|
}
|
|
950
921
|
return;
|
|
951
922
|
}
|
|
952
|
-
if (!isCWIResponseMessage(
|
|
923
|
+
if (!isCWIResponseMessage(eventData))
|
|
953
924
|
return;
|
|
954
|
-
const pending = this.pendingInvocations.get(
|
|
925
|
+
const pending = this.pendingInvocations.get(eventData.id);
|
|
955
926
|
if (!pending)
|
|
956
927
|
return;
|
|
957
|
-
this.pendingInvocations.delete(
|
|
928
|
+
this.pendingInvocations.delete(eventData.id);
|
|
958
929
|
clearTimeout(pending.timeoutId);
|
|
959
|
-
if (
|
|
960
|
-
pending.reject(toCWIError(
|
|
930
|
+
if (eventData.status === "error") {
|
|
931
|
+
pending.reject(toCWIError(eventData));
|
|
961
932
|
return;
|
|
962
933
|
}
|
|
963
|
-
pending.resolve(
|
|
934
|
+
pending.resolve(eventData.result);
|
|
964
935
|
};
|
|
936
|
+
getIframeWindow() {
|
|
937
|
+
const iframe = this.iframe;
|
|
938
|
+
if (!iframe)
|
|
939
|
+
return null;
|
|
940
|
+
try {
|
|
941
|
+
return iframe.contentWindow;
|
|
942
|
+
} catch {
|
|
943
|
+
return null;
|
|
944
|
+
}
|
|
945
|
+
}
|
|
965
946
|
ensureIframe() {
|
|
966
947
|
if (typeof window === "undefined" || typeof document === "undefined") {
|
|
967
948
|
throw new TransportUnavailableError("Embed transport requires a browser");
|
|
968
949
|
}
|
|
969
|
-
if (this.iframe
|
|
950
|
+
if (this.iframe) {
|
|
970
951
|
return this.iframe;
|
|
971
952
|
}
|
|
972
953
|
const iframe = document.createElement("iframe");
|
|
@@ -1042,8 +1023,8 @@ class EmbedTransport {
|
|
|
1042
1023
|
throw new OneSatError(ErrorCodes.INVALID_REQUEST, "Invalid CWI call");
|
|
1043
1024
|
}
|
|
1044
1025
|
await this.handshake();
|
|
1045
|
-
|
|
1046
|
-
const target =
|
|
1026
|
+
this.ensureIframe();
|
|
1027
|
+
const target = this.getIframeWindow();
|
|
1047
1028
|
if (!target) {
|
|
1048
1029
|
throw new TransportUnavailableError("CWI iframe is not reachable");
|
|
1049
1030
|
}
|
|
@@ -1435,6 +1416,72 @@ class AutoTransport {
|
|
|
1435
1416
|
var createEmbedTransport = (config) => new EmbedTransport(config);
|
|
1436
1417
|
var createRedirectTransport = (config) => new RedirectTransport(config);
|
|
1437
1418
|
var createAutoTransport = (config) => new AutoTransport(config);
|
|
1419
|
+
// src/wallet.ts
|
|
1420
|
+
function parsePopupParams(searchParams) {
|
|
1421
|
+
const requestId = searchParams.get("requestId");
|
|
1422
|
+
const origin = searchParams.get("origin");
|
|
1423
|
+
const method = searchParams.get("method");
|
|
1424
|
+
const appName = searchParams.get("appName");
|
|
1425
|
+
const paramsStr = searchParams.get("params");
|
|
1426
|
+
let params = undefined;
|
|
1427
|
+
if (paramsStr) {
|
|
1428
|
+
try {
|
|
1429
|
+
params = JSON.parse(decodeURIComponent(paramsStr));
|
|
1430
|
+
} catch {}
|
|
1431
|
+
}
|
|
1432
|
+
return { requestId, origin, method, appName, params };
|
|
1433
|
+
}
|
|
1434
|
+
function sendResponse(requestId, result, origin) {
|
|
1435
|
+
if (typeof window === "undefined")
|
|
1436
|
+
return;
|
|
1437
|
+
if (!window.opener) {
|
|
1438
|
+
console.error("[onesat] No opener window found");
|
|
1439
|
+
return;
|
|
1440
|
+
}
|
|
1441
|
+
const response = createResponse(requestId, result, origin);
|
|
1442
|
+
window.opener.postMessage(response, origin);
|
|
1443
|
+
window.close();
|
|
1444
|
+
}
|
|
1445
|
+
function sendErrorResponse(requestId, code, message, origin, data) {
|
|
1446
|
+
if (typeof window === "undefined")
|
|
1447
|
+
return;
|
|
1448
|
+
if (!window.opener) {
|
|
1449
|
+
console.error("[onesat] No opener window found");
|
|
1450
|
+
return;
|
|
1451
|
+
}
|
|
1452
|
+
const response = createErrorResponse(requestId, code, message, origin, data);
|
|
1453
|
+
window.opener.postMessage(response, origin);
|
|
1454
|
+
window.close();
|
|
1455
|
+
}
|
|
1456
|
+
function rejectRequest(requestId, origin, reason = "User rejected the request") {
|
|
1457
|
+
sendErrorResponse(requestId, ErrorCodes.USER_REJECTED, reason, origin);
|
|
1458
|
+
}
|
|
1459
|
+
function walletLockedError(requestId, origin) {
|
|
1460
|
+
sendErrorResponse(requestId, ErrorCodes.WALLET_LOCKED, "Wallet is locked. Please unlock your wallet.", origin);
|
|
1461
|
+
}
|
|
1462
|
+
function walletNotConnectedError(requestId, origin) {
|
|
1463
|
+
sendErrorResponse(requestId, ErrorCodes.WALLET_NOT_CONNECTED, "Wallet is not connected", origin);
|
|
1464
|
+
}
|
|
1465
|
+
function closePopup() {
|
|
1466
|
+
if (typeof window !== "undefined") {
|
|
1467
|
+
window.close();
|
|
1468
|
+
}
|
|
1469
|
+
}
|
|
1470
|
+
function isPopupContext() {
|
|
1471
|
+
if (typeof window === "undefined")
|
|
1472
|
+
return false;
|
|
1473
|
+
return window.opener !== null;
|
|
1474
|
+
}
|
|
1475
|
+
function getPopupContext(searchParams) {
|
|
1476
|
+
const { requestId, origin, method, appName, params } = parsePopupParams(searchParams);
|
|
1477
|
+
if (!requestId) {
|
|
1478
|
+
throw new Error("Missing requestId in popup parameters");
|
|
1479
|
+
}
|
|
1480
|
+
if (!origin) {
|
|
1481
|
+
throw new Error("Missing origin in popup parameters");
|
|
1482
|
+
}
|
|
1483
|
+
return { requestId, origin, method, appName, params };
|
|
1484
|
+
}
|
|
1438
1485
|
|
|
1439
1486
|
// src/index.ts
|
|
1440
1487
|
function isOneSatInjected() {
|
package/dist/messages.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAU,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,YAAY;;;CAGf,CAAA;AAEV,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAA;AAE1E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IAClD,IAAI,EAAE,OAAO,YAAY,CAAC,OAAO,CAAA;IACjC,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IACnD,IAAI,EAAE,OAAO,YAAY,CAAC,QAAQ,CAAA;IAClC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,OAAO,CAAA;KACd,CAAA;CACD;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,eAAe,CAAA;AAE9D;;GAEG;AACH,wBAAgB,aAAa,CAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,MAAM,GACZ,cAAc,CAShB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,MAAM,GACZ,eAAe,CAQjB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,OAAO,GACZ,eAAe,CAQjB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,eAAe,
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAU,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,YAAY;;;CAGf,CAAA;AAEV,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAA;AAE1E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IAClD,IAAI,EAAE,OAAO,YAAY,CAAC,OAAO,CAAA;IACjC,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IACnD,IAAI,EAAE,OAAO,YAAY,CAAC,QAAQ,CAAA;IAClC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,OAAO,CAAA;KACd,CAAA;CACD;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,eAAe,CAAA;AAE9D;;GAEG;AACH,wBAAgB,aAAa,CAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,MAAM,GACZ,cAAc,CAShB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,MAAM,GACZ,eAAe,CAQjB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,OAAO,GACZ,eAAe,CAQjB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,eAAe,CAwCrE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,GAAG,IAAI,eAAe,CAEvE"}
|
package/dist/popup.d.ts
CHANGED
package/dist/popup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popup.d.ts","sourceRoot":"","sources":["../src/popup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"popup.d.ts","sourceRoot":"","sources":["../src/popup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAMzC,MAAM,WAAW,WAAW;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACzC,eAAe,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,qBAAa,YAAY;IACxB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,eAAe,CAA8C;gBAEzD,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAQzC;;OAEG;IACH,SAAS,CAAC,CAAC,EACV,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,CAAC,CAAC;IA8Db;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAS3D;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO;IASvD;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI7C;;OAEG;IACH,OAAO,CAAC,OAAO;IAcf;;OAEG;IACH,OAAO,IAAI,IAAI;CAKf"}
|
package/dist/provider.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type BalanceResult, type CancelListingRequest, type ConnectResult, type CreateListingRequest, type EventHandler, type InscribeRequest, type InscribeResult, type
|
|
1
|
+
import { type BalanceResult, type CancelListingRequest, type ConnectParams, type ConnectResult, type CreateListingRequest, type EventHandler, type InscribeRequest, type InscribeResult, type ListingResult, type ListOptions, type OneSatConfig, type OneSatEvent, type OneSatProvider, type OrdinalOutput, type PurchaseListingRequest, type SendOrdinalsRequest, type SendResult, type SignMessageResult, type SignTransactionRequest, type SignTransactionResult, type TokenOutput, type TransferTokenRequest, type Utxo } from "./types";
|
|
2
2
|
/**
|
|
3
3
|
* Browser implementation of the OneSat wallet provider
|
|
4
4
|
* Uses popup-based communication with the wallet
|
|
@@ -23,7 +23,7 @@ export declare class OneSatBrowserProvider implements OneSatProvider {
|
|
|
23
23
|
* Send a request that requires popup approval
|
|
24
24
|
*/
|
|
25
25
|
private sendRequest;
|
|
26
|
-
connect(): Promise<ConnectResult>;
|
|
26
|
+
connect(params?: ConnectParams): Promise<ConnectResult>;
|
|
27
27
|
disconnect(): Promise<void>;
|
|
28
28
|
isConnected(): boolean;
|
|
29
29
|
/**
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAUA,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAUA,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAG3B,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,IAAI,EACT,MAAM,SAAS,CAAC;AAKjB;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAC3D,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAG,IAAI,CAAU;IAElC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,CAAC,EAAE,YAAY;IAqBjC;;OAEG;IACH,OAAO,CAAC,aAAa,CA6BnB;IAEF;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;YACW,WAAW;IAUnB,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAmBvD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASnB,eAAe,CACpB,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,qBAAqB,CAAC;IAQ3B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IASxD,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAK3D,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAO/D,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKpE,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC;IAKrE,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;IAOjE,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC;IAOjE,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAKpC,WAAW,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAK5D,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAKxD,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAOjC,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAInE,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAMpD,YAAY,IAAI;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAQzE,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACH,OAAO,IAAI,IAAI;CAOf"}
|
package/dist/transport.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export declare class EmbedTransport implements CWITransport {
|
|
|
13
13
|
private isDestroyed;
|
|
14
14
|
constructor(config?: CWITransportConfig);
|
|
15
15
|
private handleMessage;
|
|
16
|
+
private getIframeWindow;
|
|
16
17
|
private ensureIframe;
|
|
17
18
|
private updateIframeVisibility;
|
|
18
19
|
private resolveStateWaiters;
|
package/dist/transport.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAIX,QAAQ,EAER,YAAY,EACZ,kBAAkB,EAElB,wBAAwB,EAGxB,MAAM,SAAS,CAAA;AA8NhB,qBAAa,cAAe,YAAW,YAAY;IAClD,QAAQ,CAAC,IAAI,EAAG,OAAO,CAAS;IAEhC,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,kBAAkB,CAAuC;IACjE,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAQ;gBAEf,MAAM,CAAC,EAAE,kBAAkB;IAkBvC,OAAO,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optional parameters for connect()
|
|
3
|
+
*/
|
|
4
|
+
export interface ConnectParams {
|
|
5
|
+
/**
|
|
6
|
+
* An optional challenge message to sign during connection.
|
|
7
|
+
* When provided, the wallet signs the challenge with BSM in the same popup,
|
|
8
|
+
* avoiding a second popup for signMessage().
|
|
9
|
+
* The result is returned in ConnectResult.signedMessage.
|
|
10
|
+
*/
|
|
11
|
+
challenge?: string;
|
|
12
|
+
}
|
|
1
13
|
/**
|
|
2
14
|
* Connection result returned after successful wallet connection
|
|
3
15
|
*/
|
|
@@ -5,6 +17,11 @@ export interface ConnectResult {
|
|
|
5
17
|
paymentAddress: string;
|
|
6
18
|
ordinalAddress: string;
|
|
7
19
|
identityPubKey: string;
|
|
20
|
+
/**
|
|
21
|
+
* If a challenge was provided to connect(), this contains the BSM signature.
|
|
22
|
+
* Only present when connect() was called with a challenge parameter.
|
|
23
|
+
*/
|
|
24
|
+
signedMessage?: SignMessageResult;
|
|
8
25
|
}
|
|
9
26
|
/**
|
|
10
27
|
* Provider configuration options
|
|
@@ -17,12 +34,12 @@ export interface OneSatConfig {
|
|
|
17
34
|
/** Request timeout in milliseconds (default: 300000 = 5 minutes) */
|
|
18
35
|
timeout?: number;
|
|
19
36
|
/** Network to use (default: main) */
|
|
20
|
-
network?:
|
|
37
|
+
network?: "main" | "test";
|
|
21
38
|
}
|
|
22
39
|
/** Transport mode for CWI requests */
|
|
23
|
-
export type TransportMode =
|
|
40
|
+
export type TransportMode = "popup" | "embed" | "redirect" | "auto";
|
|
24
41
|
/** Mobile fallback strategy for CWI transport negotiation */
|
|
25
|
-
export type MobileFallbackMode =
|
|
42
|
+
export type MobileFallbackMode = "auto" | "redirect" | "embed-only";
|
|
26
43
|
/**
|
|
27
44
|
* Configuration options for CWI transport implementations
|
|
28
45
|
*/
|
|
@@ -47,8 +64,8 @@ export interface CWITransportConfig {
|
|
|
47
64
|
mobileFallback?: MobileFallbackMode;
|
|
48
65
|
}
|
|
49
66
|
/** CWI handshake reason codes from the wallet iframe */
|
|
50
|
-
export type CWIHandshakeReason =
|
|
51
|
-
export type CWIWalletStatus =
|
|
67
|
+
export type CWIHandshakeReason = "channel_unavailable" | "wallet_tab_unreachable" | "wallet_locked";
|
|
68
|
+
export type CWIWalletStatus = "checking" | "locked" | "unlocked" | "no-wallet";
|
|
52
69
|
/**
|
|
53
70
|
* RPC method names for wallet communication
|
|
54
71
|
*/
|
|
@@ -69,18 +86,18 @@ export declare const RpcMethods: {
|
|
|
69
86
|
readonly GET_UTXOS: "getUtxos";
|
|
70
87
|
};
|
|
71
88
|
export type RpcMethod = (typeof RpcMethods)[keyof typeof RpcMethods];
|
|
72
|
-
export type CWITransportName =
|
|
89
|
+
export type CWITransportName = "embed" | "redirect";
|
|
73
90
|
/** State signal posted by wallet CWI iframe */
|
|
74
91
|
export interface CWIState {
|
|
75
92
|
status?: CWIWalletStatus;
|
|
76
93
|
hasPermission?: boolean;
|
|
77
|
-
transport?:
|
|
94
|
+
transport?: "embed";
|
|
78
95
|
fallbackRecommended?: boolean;
|
|
79
96
|
reason?: CWIHandshakeReason;
|
|
80
97
|
}
|
|
81
98
|
/** CWI invocation request sent from dApp to iframe */
|
|
82
99
|
export interface CWIRequestMessage {
|
|
83
|
-
type:
|
|
100
|
+
type: "CWI";
|
|
84
101
|
isInvocation: true;
|
|
85
102
|
id: string;
|
|
86
103
|
call: string;
|
|
@@ -88,22 +105,22 @@ export interface CWIRequestMessage {
|
|
|
88
105
|
}
|
|
89
106
|
/** CWI invocation response sent from iframe to dApp */
|
|
90
107
|
export interface CWIResponseMessage {
|
|
91
|
-
type:
|
|
108
|
+
type: "CWI";
|
|
92
109
|
isInvocation: false;
|
|
93
110
|
id: string;
|
|
94
111
|
result?: unknown;
|
|
95
|
-
status?:
|
|
112
|
+
status?: "error";
|
|
96
113
|
description?: string;
|
|
97
114
|
code?: number;
|
|
98
115
|
}
|
|
99
116
|
/** CWI state updates posted by wallet iframe */
|
|
100
117
|
export interface CWIStateMessage {
|
|
101
|
-
type:
|
|
118
|
+
type: "CWI";
|
|
102
119
|
cwiState: CWIState;
|
|
103
120
|
}
|
|
104
121
|
/** Transport events for telemetry and UX signaling */
|
|
105
122
|
export interface CWITransportEvent {
|
|
106
|
-
type:
|
|
123
|
+
type: "selected" | "fallback";
|
|
107
124
|
transport: CWITransportName;
|
|
108
125
|
previousTransport?: CWITransportName;
|
|
109
126
|
reason?: string;
|
|
@@ -119,8 +136,8 @@ export interface CWITransport {
|
|
|
119
136
|
readonly mode: TransportMode;
|
|
120
137
|
invoke<TResult = unknown>(call: string, args?: unknown): Promise<TResult>;
|
|
121
138
|
resume<TResult = unknown>(searchParams?: URLSearchParams | string): Promise<TResult | null>;
|
|
122
|
-
on(event:
|
|
123
|
-
off(event:
|
|
139
|
+
on(event: "transport", handler: CWITransportEventHandler): void;
|
|
140
|
+
off(event: "transport", handler: CWITransportEventHandler): void;
|
|
124
141
|
destroy(): void;
|
|
125
142
|
}
|
|
126
143
|
/**
|
|
@@ -253,7 +270,7 @@ export interface ListOptions {
|
|
|
253
270
|
/**
|
|
254
271
|
* Event types emitted by the provider
|
|
255
272
|
*/
|
|
256
|
-
export type OneSatEvent =
|
|
273
|
+
export type OneSatEvent = "connect" | "disconnect" | "accountChange";
|
|
257
274
|
/**
|
|
258
275
|
* Event handler function type
|
|
259
276
|
*/
|
|
@@ -274,7 +291,7 @@ declare global {
|
|
|
274
291
|
export interface OneSatProvider {
|
|
275
292
|
/** Identifies this as the OneSat provider (for detection) */
|
|
276
293
|
readonly isOneSat: true;
|
|
277
|
-
connect(): Promise<ConnectResult>;
|
|
294
|
+
connect(params?: ConnectParams): Promise<ConnectResult>;
|
|
278
295
|
disconnect(): Promise<void>;
|
|
279
296
|
isConnected(): boolean;
|
|
280
297
|
signTransaction(request: SignTransactionRequest): Promise<SignTransactionResult>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,27 +1,36 @@
|
|
|
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
|
-
|
|
2
|
+
"name": "@1sat/connect",
|
|
3
|
+
"version": "0.0.7",
|
|
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
|
+
"eventemitter3": "^5.0.1"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"typescript": "^5.9.3"
|
|
35
|
+
}
|
|
27
36
|
}
|