@xyo-network/xl1-rpc 1.10.0 → 1.10.2
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/neutral/index.mjs +64 -19
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts +1 -1
- package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -1
- package/dist/neutral/provider/connection/XyoConnection.d.ts +2 -2
- package/dist/neutral/provider/connection/XyoConnection.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts +15 -0
- package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -0
- package/dist/neutral/transport/post-message/index.d.ts +1 -1
- package/dist/neutral/transport/post-message/index.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/resolveData.d.ts +13 -0
- package/dist/neutral/transport/post-message/resolveData.d.ts.map +1 -0
- package/dist/node/index-node.mjs +64 -19
- package/dist/node/index-node.mjs.map +1 -1
- package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts +1 -1
- package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -1
- package/dist/node/provider/connection/XyoConnection.d.ts +2 -2
- package/dist/node/provider/connection/XyoConnection.d.ts.map +1 -1
- package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts +15 -0
- package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -0
- package/dist/node/transport/post-message/index.d.ts +1 -1
- package/dist/node/transport/post-message/index.d.ts.map +1 -1
- package/dist/node/transport/post-message/resolveData.d.ts +13 -0
- package/dist/node/transport/post-message/resolveData.d.ts.map +1 -0
- package/package.json +26 -26
- package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +1 -1
- package/src/provider/connection/XyoConnection.ts +5 -2
- package/src/provider/connection/spec/XyoConnection.ts +1 -0
- package/src/provider/signer/spec/RpcEngineXyoSigner.spec.ts +1 -0
- package/src/transport/post-message/LegacyPostMessageRpcTransport.ts +117 -0
- package/src/transport/post-message/SessionEnvelope.ts +1 -1
- package/src/transport/post-message/helpers.ts +1 -1
- package/src/transport/post-message/index.ts +1 -1
- package/src/transport/post-message/resolveData.ts +30 -0
- package/src/types/global.d.ts +1 -1
- package/dist/neutral/transport/post-message/PostMessageRpcTransport.d.ts +0 -12
- package/dist/neutral/transport/post-message/PostMessageRpcTransport.d.ts.map +0 -1
- package/dist/node/transport/post-message/PostMessageRpcTransport.d.ts +0 -12
- package/dist/node/transport/post-message/PostMessageRpcTransport.d.ts.map +0 -1
- package/src/transport/post-message/PostMessageRpcTransport.ts +0 -73
package/dist/node/index-node.mjs
CHANGED
|
@@ -642,7 +642,7 @@ var MemoryXyoClient = class {
|
|
|
642
642
|
};
|
|
643
643
|
|
|
644
644
|
// src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts
|
|
645
|
-
var getPermissionsStoreFromTransport = (
|
|
645
|
+
var getPermissionsStoreFromTransport = (_transport) => {
|
|
646
646
|
throw new Error("Not implemented");
|
|
647
647
|
};
|
|
648
648
|
|
|
@@ -754,7 +754,11 @@ var MemoryRpcTransport = class {
|
|
|
754
754
|
}
|
|
755
755
|
};
|
|
756
756
|
|
|
757
|
-
// src/transport/post-message/
|
|
757
|
+
// src/transport/post-message/LegacyPostMessageRpcTransport.ts
|
|
758
|
+
import {
|
|
759
|
+
isJsonRpcError,
|
|
760
|
+
isJsonRpcSuccess
|
|
761
|
+
} from "@metamask/utils";
|
|
758
762
|
import { isDefined } from "@xylabs/typeof";
|
|
759
763
|
import { v4 as v43 } from "uuid";
|
|
760
764
|
|
|
@@ -763,23 +767,32 @@ var isRpcError = (data) => {
|
|
|
763
767
|
return data && typeof data === "object" && "error" in data && data.error;
|
|
764
768
|
};
|
|
765
769
|
|
|
766
|
-
// src/transport/post-message/
|
|
767
|
-
var
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
770
|
+
// src/transport/post-message/resolveData.ts
|
|
771
|
+
var hasMatchingId = (eventData, targetId) => {
|
|
772
|
+
return eventData?.id === targetId ? { legacyEventData: eventData } : false;
|
|
773
|
+
};
|
|
774
|
+
var hasMatchingNestedId = (eventData, targetId) => {
|
|
775
|
+
return eventData?.data?.id === targetId ? { eventData: eventData.data } : false;
|
|
776
|
+
};
|
|
777
|
+
var resolvedEvent = (event, targetId) => {
|
|
778
|
+
return hasMatchingId(event.data, targetId) || hasMatchingNestedId(event.data, targetId);
|
|
774
779
|
};
|
|
775
780
|
|
|
776
|
-
// src/transport/post-message/
|
|
777
|
-
var
|
|
781
|
+
// src/transport/post-message/LegacyPostMessageRpcTransport.ts
|
|
782
|
+
var isValidBaseRpcEvent = (data) => {
|
|
783
|
+
return !!(data && typeof data === "object" && "jsonrpc" in data && data.jsonrpc === "2.0" && "method" in data && typeof data.method === "string" && "id" in data && typeof data.id === "string");
|
|
784
|
+
};
|
|
785
|
+
var isRpcResponse = (data, targetId) => {
|
|
786
|
+
return isValidBaseRpcEvent(data) && (isDefined(targetId) ? data.id === targetId : true) && "result" in data && Array.isArray(data.result);
|
|
787
|
+
};
|
|
788
|
+
var LegacyPostMessageRpcTransport = class {
|
|
778
789
|
destination;
|
|
779
790
|
schemas;
|
|
780
|
-
|
|
791
|
+
sessionId;
|
|
792
|
+
constructor(defaultDestination, schemas = XyoGatewayRpcSchemas, sessionId) {
|
|
781
793
|
this.schemas = schemas;
|
|
782
794
|
this.destination = defaultDestination;
|
|
795
|
+
this.sessionId = sessionId;
|
|
783
796
|
}
|
|
784
797
|
async sendRequest(method, params) {
|
|
785
798
|
const id = v43();
|
|
@@ -796,22 +809,53 @@ var PostMessageRpcTransport = class {
|
|
|
796
809
|
const id2 = body.id;
|
|
797
810
|
const handler = (event) => {
|
|
798
811
|
if (event.origin !== globalThis.window.origin) return;
|
|
799
|
-
if (event.data
|
|
812
|
+
if (!isRpcResponse(event.data, id2)) return;
|
|
813
|
+
const data = resolvedEvent(event, id2);
|
|
814
|
+
if (data === false) return;
|
|
800
815
|
globalThis.removeEventListener("message", handler);
|
|
801
|
-
if (
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
816
|
+
if (data.legacyEventData) {
|
|
817
|
+
if (data.legacyEventData.result.some(isRpcError)) {
|
|
818
|
+
reject(data.legacyEventData.result[0]);
|
|
819
|
+
} else {
|
|
820
|
+
resolve(data.legacyEventData.result[0]);
|
|
821
|
+
}
|
|
822
|
+
return;
|
|
823
|
+
}
|
|
824
|
+
if (data.eventData) {
|
|
825
|
+
if (isJsonRpcError(data.eventData)) {
|
|
826
|
+
reject(data.eventData);
|
|
827
|
+
return;
|
|
828
|
+
}
|
|
829
|
+
if (isJsonRpcSuccess(data.eventData)) {
|
|
830
|
+
resolve(data.eventData);
|
|
831
|
+
return;
|
|
832
|
+
}
|
|
833
|
+
reject(new Error("Unexpected response format"));
|
|
805
834
|
}
|
|
806
835
|
};
|
|
807
836
|
globalThis.addEventListener("message", handler);
|
|
808
837
|
globalThis.postMessage(
|
|
809
|
-
|
|
838
|
+
{
|
|
839
|
+
data: body,
|
|
840
|
+
destination: this.destination,
|
|
841
|
+
sessionId: this.sessionId
|
|
842
|
+
},
|
|
810
843
|
globalThis.location.origin
|
|
811
844
|
);
|
|
812
845
|
});
|
|
813
846
|
}
|
|
814
847
|
};
|
|
848
|
+
var PostMessageRpcTransport = LegacyPostMessageRpcTransport;
|
|
849
|
+
|
|
850
|
+
// src/transport/post-message/SessionEnvelope.ts
|
|
851
|
+
var buildSessionMessageRequest = (data, destination) => {
|
|
852
|
+
const request = {
|
|
853
|
+
data,
|
|
854
|
+
destination,
|
|
855
|
+
sessionId: globalThis.xyo.walletExtensionId() ?? ""
|
|
856
|
+
};
|
|
857
|
+
return request;
|
|
858
|
+
};
|
|
815
859
|
|
|
816
860
|
// src/provider/datalake/AbstractXyoDataLake.ts
|
|
817
861
|
import { ObjectHasher } from "@xyo-network/hash";
|
|
@@ -1368,6 +1412,7 @@ export {
|
|
|
1368
1412
|
JsonRpcXyoRunner,
|
|
1369
1413
|
JsonRpcXyoSigner,
|
|
1370
1414
|
JsonRpcXyoViewer,
|
|
1415
|
+
LegacyPostMessageRpcTransport,
|
|
1371
1416
|
MemoryPermissionsStore,
|
|
1372
1417
|
MemoryRpcTransport,
|
|
1373
1418
|
MemoryXyoClient,
|