@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/neutral/index.mjs
CHANGED
|
@@ -58,7 +58,7 @@ var MemoryXyoClient = class {
|
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
// src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts
|
|
61
|
-
var getPermissionsStoreFromTransport = (
|
|
61
|
+
var getPermissionsStoreFromTransport = (_transport) => {
|
|
62
62
|
throw new Error("Not implemented");
|
|
63
63
|
};
|
|
64
64
|
|
|
@@ -717,7 +717,11 @@ var MemoryRpcTransport = class {
|
|
|
717
717
|
}
|
|
718
718
|
};
|
|
719
719
|
|
|
720
|
-
// src/transport/post-message/
|
|
720
|
+
// src/transport/post-message/LegacyPostMessageRpcTransport.ts
|
|
721
|
+
import {
|
|
722
|
+
isJsonRpcError,
|
|
723
|
+
isJsonRpcSuccess
|
|
724
|
+
} from "@metamask/utils";
|
|
721
725
|
import { isDefined } from "@xylabs/typeof";
|
|
722
726
|
import { v4 as v43 } from "uuid";
|
|
723
727
|
|
|
@@ -726,23 +730,32 @@ var isRpcError = (data) => {
|
|
|
726
730
|
return data && typeof data === "object" && "error" in data && data.error;
|
|
727
731
|
};
|
|
728
732
|
|
|
729
|
-
// src/transport/post-message/
|
|
730
|
-
var
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
733
|
+
// src/transport/post-message/resolveData.ts
|
|
734
|
+
var hasMatchingId = (eventData, targetId) => {
|
|
735
|
+
return eventData?.id === targetId ? { legacyEventData: eventData } : false;
|
|
736
|
+
};
|
|
737
|
+
var hasMatchingNestedId = (eventData, targetId) => {
|
|
738
|
+
return eventData?.data?.id === targetId ? { eventData: eventData.data } : false;
|
|
739
|
+
};
|
|
740
|
+
var resolvedEvent = (event, targetId) => {
|
|
741
|
+
return hasMatchingId(event.data, targetId) || hasMatchingNestedId(event.data, targetId);
|
|
737
742
|
};
|
|
738
743
|
|
|
739
|
-
// src/transport/post-message/
|
|
740
|
-
var
|
|
744
|
+
// src/transport/post-message/LegacyPostMessageRpcTransport.ts
|
|
745
|
+
var isValidBaseRpcEvent = (data) => {
|
|
746
|
+
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");
|
|
747
|
+
};
|
|
748
|
+
var isRpcResponse = (data, targetId) => {
|
|
749
|
+
return isValidBaseRpcEvent(data) && (isDefined(targetId) ? data.id === targetId : true) && "result" in data && Array.isArray(data.result);
|
|
750
|
+
};
|
|
751
|
+
var LegacyPostMessageRpcTransport = class {
|
|
741
752
|
destination;
|
|
742
753
|
schemas;
|
|
743
|
-
|
|
754
|
+
sessionId;
|
|
755
|
+
constructor(defaultDestination, schemas = XyoGatewayRpcSchemas, sessionId) {
|
|
744
756
|
this.schemas = schemas;
|
|
745
757
|
this.destination = defaultDestination;
|
|
758
|
+
this.sessionId = sessionId;
|
|
746
759
|
}
|
|
747
760
|
async sendRequest(method, params) {
|
|
748
761
|
const id = v43();
|
|
@@ -759,22 +772,53 @@ var PostMessageRpcTransport = class {
|
|
|
759
772
|
const id2 = body.id;
|
|
760
773
|
const handler = (event) => {
|
|
761
774
|
if (event.origin !== globalThis.window.origin) return;
|
|
762
|
-
if (event.data
|
|
775
|
+
if (!isRpcResponse(event.data, id2)) return;
|
|
776
|
+
const data = resolvedEvent(event, id2);
|
|
777
|
+
if (data === false) return;
|
|
763
778
|
globalThis.removeEventListener("message", handler);
|
|
764
|
-
if (
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
779
|
+
if (data.legacyEventData) {
|
|
780
|
+
if (data.legacyEventData.result.some(isRpcError)) {
|
|
781
|
+
reject(data.legacyEventData.result[0]);
|
|
782
|
+
} else {
|
|
783
|
+
resolve(data.legacyEventData.result[0]);
|
|
784
|
+
}
|
|
785
|
+
return;
|
|
786
|
+
}
|
|
787
|
+
if (data.eventData) {
|
|
788
|
+
if (isJsonRpcError(data.eventData)) {
|
|
789
|
+
reject(data.eventData);
|
|
790
|
+
return;
|
|
791
|
+
}
|
|
792
|
+
if (isJsonRpcSuccess(data.eventData)) {
|
|
793
|
+
resolve(data.eventData);
|
|
794
|
+
return;
|
|
795
|
+
}
|
|
796
|
+
reject(new Error("Unexpected response format"));
|
|
768
797
|
}
|
|
769
798
|
};
|
|
770
799
|
globalThis.addEventListener("message", handler);
|
|
771
800
|
globalThis.postMessage(
|
|
772
|
-
|
|
801
|
+
{
|
|
802
|
+
data: body,
|
|
803
|
+
destination: this.destination,
|
|
804
|
+
sessionId: this.sessionId
|
|
805
|
+
},
|
|
773
806
|
globalThis.location.origin
|
|
774
807
|
);
|
|
775
808
|
});
|
|
776
809
|
}
|
|
777
810
|
};
|
|
811
|
+
var PostMessageRpcTransport = LegacyPostMessageRpcTransport;
|
|
812
|
+
|
|
813
|
+
// src/transport/post-message/SessionEnvelope.ts
|
|
814
|
+
var buildSessionMessageRequest = (data, destination) => {
|
|
815
|
+
const request = {
|
|
816
|
+
data,
|
|
817
|
+
destination,
|
|
818
|
+
sessionId: globalThis.xyo.walletExtensionId() ?? ""
|
|
819
|
+
};
|
|
820
|
+
return request;
|
|
821
|
+
};
|
|
778
822
|
|
|
779
823
|
// src/provider/datalake/AbstractXyoDataLake.ts
|
|
780
824
|
import { ObjectHasher } from "@xyo-network/hash";
|
|
@@ -1331,6 +1375,7 @@ export {
|
|
|
1331
1375
|
JsonRpcXyoRunner,
|
|
1332
1376
|
JsonRpcXyoSigner,
|
|
1333
1377
|
JsonRpcXyoViewer,
|
|
1378
|
+
LegacyPostMessageRpcTransport,
|
|
1334
1379
|
MemoryPermissionsStore,
|
|
1335
1380
|
MemoryRpcTransport,
|
|
1336
1381
|
MemoryXyoClient,
|