@xyo-network/xl1-rpc 1.7.11 → 1.7.13

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 (81) hide show
  1. package/README.md +539 -261
  2. package/dist/neutral/engine/rpcMethodHandlersFromSigner.d.ts.map +1 -1
  3. package/dist/neutral/index.mjs +251 -91
  4. package/dist/neutral/index.mjs.map +1 -1
  5. package/dist/neutral/provider/host/Abstract.d.ts +13 -0
  6. package/dist/neutral/provider/host/Abstract.d.ts.map +1 -0
  7. package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts +2 -11
  8. package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts.map +1 -1
  9. package/dist/neutral/provider/host/MemoryXyoGateway.d.ts +22 -0
  10. package/dist/neutral/provider/host/MemoryXyoGateway.d.ts.map +1 -0
  11. package/dist/neutral/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts +11 -0
  12. package/dist/neutral/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
  13. package/dist/neutral/provider/host/PermissionsStore/PermissionsStore.d.ts +8 -0
  14. package/dist/neutral/provider/host/PermissionsStore/PermissionsStore.d.ts.map +1 -0
  15. package/dist/neutral/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts +5 -0
  16. package/dist/neutral/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
  17. package/dist/neutral/provider/host/PermissionsStore/index.d.ts +4 -0
  18. package/dist/neutral/provider/host/PermissionsStore/index.d.ts.map +1 -0
  19. package/dist/neutral/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +2 -0
  20. package/dist/neutral/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
  21. package/dist/neutral/provider/host/index.d.ts +3 -0
  22. package/dist/neutral/provider/host/index.d.ts.map +1 -1
  23. package/dist/neutral/provider/host/spec/MemoryXyoGateway.spec.d.ts +2 -0
  24. package/dist/neutral/provider/host/spec/MemoryXyoGateway.spec.d.ts.map +1 -0
  25. package/dist/neutral/provider/provider/XyoConnection.d.ts +6 -9
  26. package/dist/neutral/provider/provider/XyoConnection.d.ts.map +1 -1
  27. package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts +9 -2
  28. package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
  29. package/dist/neutral/provider/signer/MemoryXyoSigner.d.ts +3 -1
  30. package/dist/neutral/provider/signer/MemoryXyoSigner.d.ts.map +1 -1
  31. package/dist/neutral/transport/HttpRpcTransport.d.ts.map +1 -1
  32. package/dist/neutral/types/schema/XyoSignerRpcSchemas.d.ts.map +1 -1
  33. package/dist/node/engine/rpcMethodHandlersFromSigner.d.ts.map +1 -1
  34. package/dist/node/index-node.mjs +253 -93
  35. package/dist/node/index-node.mjs.map +1 -1
  36. package/dist/node/provider/host/Abstract.d.ts +13 -0
  37. package/dist/node/provider/host/Abstract.d.ts.map +1 -0
  38. package/dist/node/provider/host/JsonRpcXyoGateway.d.ts +2 -11
  39. package/dist/node/provider/host/JsonRpcXyoGateway.d.ts.map +1 -1
  40. package/dist/node/provider/host/MemoryXyoGateway.d.ts +22 -0
  41. package/dist/node/provider/host/MemoryXyoGateway.d.ts.map +1 -0
  42. package/dist/node/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts +11 -0
  43. package/dist/node/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
  44. package/dist/node/provider/host/PermissionsStore/PermissionsStore.d.ts +8 -0
  45. package/dist/node/provider/host/PermissionsStore/PermissionsStore.d.ts.map +1 -0
  46. package/dist/node/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts +5 -0
  47. package/dist/node/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
  48. package/dist/node/provider/host/PermissionsStore/index.d.ts +4 -0
  49. package/dist/node/provider/host/PermissionsStore/index.d.ts.map +1 -0
  50. package/dist/node/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +2 -0
  51. package/dist/node/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
  52. package/dist/node/provider/host/index.d.ts +3 -0
  53. package/dist/node/provider/host/index.d.ts.map +1 -1
  54. package/dist/node/provider/host/spec/MemoryXyoGateway.spec.d.ts +2 -0
  55. package/dist/node/provider/host/spec/MemoryXyoGateway.spec.d.ts.map +1 -0
  56. package/dist/node/provider/provider/XyoConnection.d.ts +6 -9
  57. package/dist/node/provider/provider/XyoConnection.d.ts.map +1 -1
  58. package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts +9 -2
  59. package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
  60. package/dist/node/provider/signer/MemoryXyoSigner.d.ts +3 -1
  61. package/dist/node/provider/signer/MemoryXyoSigner.d.ts.map +1 -1
  62. package/dist/node/transport/HttpRpcTransport.d.ts.map +1 -1
  63. package/dist/node/types/schema/XyoSignerRpcSchemas.d.ts.map +1 -1
  64. package/package.json +26 -25
  65. package/src/engine/rpcMethodHandlersFromSigner.ts +1 -0
  66. package/src/provider/host/Abstract.ts +30 -0
  67. package/src/provider/host/JsonRpcXyoGateway.ts +2 -28
  68. package/src/provider/host/MemoryXyoGateway.ts +84 -0
  69. package/src/provider/host/PermissionsStore/MemoryPermissionsStore.ts +33 -0
  70. package/src/provider/host/PermissionsStore/PermissionsStore.ts +8 -0
  71. package/src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts +13 -0
  72. package/src/provider/host/PermissionsStore/index.ts +3 -0
  73. package/src/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.ts +78 -0
  74. package/src/provider/host/index.ts +3 -0
  75. package/src/provider/host/spec/MemoryXyoGateway.spec.ts +78 -0
  76. package/src/provider/provider/XyoConnection.ts +20 -10
  77. package/src/provider/signer/JsonRpcXyoSigner.ts +13 -2
  78. package/src/provider/signer/MemoryXyoSigner.ts +6 -1
  79. package/src/provider/signer/spec/RpcEngineXyoSigner.spec.ts +2 -2
  80. package/src/transport/HttpRpcTransport.ts +25 -16
  81. package/src/types/schema/XyoSignerRpcSchemas.ts +14 -1
@@ -15,7 +15,8 @@ var rpcMethodHandlersFromRunner = /* @__PURE__ */ __name((runner) => {
15
15
  var rpcMethodHandlersFromSigner = /* @__PURE__ */ __name((signer) => {
16
16
  return {
17
17
  xyoSigner_address: /* @__PURE__ */ __name((params) => signer.address(...params ?? []), "xyoSigner_address"),
18
- xyoSigner_createSignedTransaction: /* @__PURE__ */ __name((params) => signer.createSignedTransaction(...params ?? []), "xyoSigner_createSignedTransaction")
18
+ xyoSigner_createSignedTransaction: /* @__PURE__ */ __name((params) => signer.createSignedTransaction(...params ?? []), "xyoSigner_createSignedTransaction"),
19
+ xyoSigner_signTransaction: /* @__PURE__ */ __name((params) => signer.signTransaction(...params ?? []), "xyoSigner_signTransaction")
19
20
  };
20
21
  }, "rpcMethodHandlersFromSigner");
21
22
 
@@ -362,6 +363,20 @@ var XyoSignerRpcSchemas = {
362
363
  to: SignedTransactionBoundWitnessSchema,
363
364
  from: SignedTransactionBoundWitnessSchema
364
365
  }
366
+ },
367
+ xyoSigner_signTransaction: {
368
+ params: {
369
+ to: z16.tuple([
370
+ HydratedTransactionSchema
371
+ ]),
372
+ from: z16.tuple([
373
+ HydratedTransactionSchema
374
+ ])
375
+ },
376
+ result: {
377
+ to: SignedHydratedTransactionSchema,
378
+ from: SignedHydratedTransactionSchema
379
+ }
365
380
  }
366
381
  };
367
382
 
@@ -746,7 +761,7 @@ var rpcEngineFromProvider = /* @__PURE__ */ __name((provider) => {
746
761
  return engine;
747
762
  }, "rpcEngineFromProvider");
748
763
 
749
- // src/provider/host/JsonRpcXyoGateway.ts
764
+ // src/provider/host/Abstract.ts
750
765
  import { assertEx } from "@xylabs/assert";
751
766
  var AbstractXyoGateway = class {
752
767
  static {
@@ -756,6 +771,8 @@ var AbstractXyoGateway = class {
756
771
  return assertEx(assertEx(await this.activeConnection(), () => "No active connection available for transaction submission").submitTransaction, () => "Active connection does not support transaction submission")(elevatedPayloads, additionalPayloads);
757
772
  }
758
773
  };
774
+
775
+ // src/provider/host/JsonRpcXyoGateway.ts
759
776
  var JsonRpcXyoGateway = class extends AbstractXyoGateway {
760
777
  static {
761
778
  __name(this, "JsonRpcXyoGateway");
@@ -785,77 +802,8 @@ var JsonRpcXyoGateway = class extends AbstractXyoGateway {
785
802
  }
786
803
  };
787
804
 
788
- // src/provider/network/MemoryXyoNetwork.ts
789
- import { isUndefined } from "@xylabs/typeof";
790
- import { isNetworkStatus } from "@xyo-network/xl1-protocol";
791
- import axios from "axios";
792
-
793
- // src/provider/network/lib/FailedNetworkStatusPayloads.ts
794
- import { NetworkStatusSchema } from "@xyo-network/xl1-protocol";
795
- var unknownStatus = {
796
- description: "Unknown Network Status",
797
- schema: NetworkStatusSchema,
798
- state: "unknown"
799
- };
800
- var errorStatus = {
801
- description: "Error Fetching Network Status",
802
- schema: NetworkStatusSchema,
803
- state: "unknown"
804
- };
805
-
806
- // src/provider/network/lib/StatusNetworks.ts
807
- var MainNetworkStats = {
808
- id: "mainnet",
809
- statusUrl: "https://xyo.network/chain-network-status-mainnet.json"
810
- };
811
- var SequenceNetworkStats = {
812
- id: "sequence",
813
- statusUrl: "https://beta.xyo.network/chain-network-status-sequence.json"
814
- };
815
- var LocalNetworkStats = {
816
- id: "local",
817
- statusUrl: "http://localhost:3002/chain-network-status-local.json"
818
- };
819
- var StatusNetworks = {
820
- mainnet: MainNetworkStats,
821
- sequence: SequenceNetworkStats,
822
- local: LocalNetworkStats
823
- };
824
-
825
- // src/provider/network/MemoryXyoNetwork.ts
826
- var MemoryXyoNetwork = class {
827
- static {
828
- __name(this, "MemoryXyoNetwork");
829
- }
830
- _networkId;
831
- constructor(networkId) {
832
- this._networkId = networkId;
833
- }
834
- async status() {
835
- const statusNetwork = StatusNetworks[this._networkId];
836
- if (isUndefined(statusNetwork)) {
837
- throw new Error(`Unknown status network ID: ${this._networkId}`);
838
- }
839
- return await this.makeRequest(statusNetwork.statusUrl);
840
- }
841
- async makeRequest(url) {
842
- try {
843
- const response = await axios.get(url);
844
- if (isNetworkStatus(response.data)) {
845
- return response.data;
846
- } else {
847
- if (response.status === 200) {
848
- console.error("Unknown network status response:", response.data);
849
- return unknownStatus;
850
- }
851
- return errorStatus;
852
- }
853
- } catch (error) {
854
- console.error("Error fetching network status:", error);
855
- return errorStatus;
856
- }
857
- }
858
- };
805
+ // src/provider/host/MemoryXyoGateway.ts
806
+ import { isDefined } from "@xylabs/typeof";
859
807
 
860
808
  // src/provider/runner/JsonRpcXyoRunner.ts
861
809
  var JsonRpcXyoRunner = class {
@@ -940,9 +888,9 @@ var NodeXyoRunner = class {
940
888
  };
941
889
 
942
890
  // src/provider/signer/JsonRpcXyoSigner.ts
943
- var JsonRpcXyoSigner = class {
891
+ var RpcXyoSigner = class {
944
892
  static {
945
- __name(this, "JsonRpcXyoSigner");
893
+ __name(this, "RpcXyoSigner");
946
894
  }
947
895
  transport;
948
896
  constructor(transport) {
@@ -962,6 +910,14 @@ var JsonRpcXyoSigner = class {
962
910
  from
963
911
  ]);
964
912
  }
913
+ signTransaction(tx) {
914
+ throw new Error("Method not implemented.");
915
+ }
916
+ };
917
+ var JsonRpcXyoSigner = class extends RpcXyoSigner {
918
+ static {
919
+ __name(this, "JsonRpcXyoSigner");
920
+ }
965
921
  };
966
922
 
967
923
  // src/provider/signer/MemoryXyoSigner.ts
@@ -982,6 +938,9 @@ var MemoryXyoSigner = class {
982
938
  const transaction = await buildTransaction(chain, elevatedPayloads, additionalPayloads, this._account, nbf, exp, fromAddress, fees);
983
939
  return transaction[0];
984
940
  }
941
+ signTransaction(_tx) {
942
+ throw new Error("Method not implemented.");
943
+ }
985
944
  };
986
945
 
987
946
  // src/provider/viewer/JsonRpcXyoViewer.ts
@@ -1082,8 +1041,10 @@ var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm
1082
1041
 
1083
1042
  // src/provider/provider/XyoConnection.ts
1084
1043
  import { assertEx as assertEx3 } from "@xylabs/assert";
1044
+ import { HydratedTransactionWrapper } from "@xyo-network/chain-wrappers";
1085
1045
  import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
1086
- import { defaultTransactionFees } from "@xyo-network/xl1-protocol";
1046
+ import { isAnyPayload } from "@xyo-network/payload-model";
1047
+ import { defaultTransactionFees, isDataLakeProvider } from "@xyo-network/xl1-protocol";
1087
1048
  var XyoConnection = class {
1088
1049
  static {
1089
1050
  __name(this, "XyoConnection");
@@ -1091,11 +1052,13 @@ var XyoConnection = class {
1091
1052
  _network;
1092
1053
  _runner;
1093
1054
  _signer;
1055
+ _storage;
1094
1056
  _viewer;
1095
1057
  constructor(params) {
1096
1058
  this._network = params?.network;
1097
1059
  this._runner = params?.runner;
1098
1060
  this._signer = params?.signer;
1061
+ this._storage = params?.storage;
1099
1062
  this._viewer = params?.viewer;
1100
1063
  }
1101
1064
  get network() {
@@ -1107,6 +1070,9 @@ var XyoConnection = class {
1107
1070
  get signer() {
1108
1071
  return this._signer;
1109
1072
  }
1073
+ get storage() {
1074
+ return this._storage;
1075
+ }
1110
1076
  get viewer() {
1111
1077
  return this._viewer;
1112
1078
  }
@@ -1124,6 +1090,7 @@ var XyoConnection = class {
1124
1090
  const viewer = assertEx3(this.viewer, () => "No viewer available");
1125
1091
  const signer = assertEx3(this.signer, () => "No signer available");
1126
1092
  const runner = assertEx3(this.runner, () => "No runner available");
1093
+ const storage = this.storage;
1127
1094
  const chainResolved = chain ?? await viewer.chainId();
1128
1095
  if (chainResolved === void 0) throw new Error("Failed to determine chain");
1129
1096
  const nbfResolved = Math.max(await viewer.currentBlockNumber() ?? 0, nbf ?? 0);
@@ -1136,6 +1103,10 @@ var XyoConnection = class {
1136
1103
  await PayloadBuilder4.addStorageMeta(signedTransaction),
1137
1104
  await PayloadBuilder4.addStorageMeta(elevatedPayloads)
1138
1105
  ];
1106
+ if (isDataLakeProvider(storage)) {
1107
+ const wrapper = await HydratedTransactionWrapper.parse(hydratedTransaction);
1108
+ await storage.add(Object.values(wrapper.externalPayloads).filter(isAnyPayload));
1109
+ }
1139
1110
  assertEx3(await runner.broadcastTransaction(hydratedTransaction), () => "Failed to broadcast transaction");
1140
1111
  return hydratedTransaction;
1141
1112
  }
@@ -1165,9 +1136,186 @@ var RpcXyoConnection = class extends XyoConnection {
1165
1136
  }
1166
1137
  };
1167
1138
 
1139
+ // src/provider/host/MemoryXyoGateway.ts
1140
+ var MemoryXyoGateway = class extends AbstractXyoGateway {
1141
+ static {
1142
+ __name(this, "MemoryXyoGateway");
1143
+ }
1144
+ _activeConnectionId;
1145
+ _connections = /* @__PURE__ */ new Map();
1146
+ _permissionsStore;
1147
+ _signer;
1148
+ constructor(signer, permissionsStore) {
1149
+ super();
1150
+ this._signer = signer;
1151
+ this._permissionsStore = permissionsStore;
1152
+ }
1153
+ get signer() {
1154
+ return this._signer;
1155
+ }
1156
+ activeConnection() {
1157
+ return isDefined(this._activeConnectionId) ? this._connections.get(this._activeConnectionId) : void 0;
1158
+ }
1159
+ addConnection(configOrName, connection) {
1160
+ if (typeof configOrName === "string" && connection !== void 0) {
1161
+ const name = configOrName;
1162
+ this._connections.set(name, connection);
1163
+ this.setActiveConnectionIdIfUndefined(name);
1164
+ return connection;
1165
+ } else if (typeof configOrName === "object") {
1166
+ const config = configOrName;
1167
+ const { name, dataLakeEndpoint, networkEndpoint } = config;
1168
+ const rpcConnection = new RpcXyoConnection({
1169
+ endpoint: networkEndpoint
1170
+ });
1171
+ this._connections.set(name, rpcConnection);
1172
+ this.setActiveConnectionIdIfUndefined(name);
1173
+ return rpcConnection;
1174
+ }
1175
+ throw new Error("Invalid arguments passed to addConnection");
1176
+ }
1177
+ connections() {
1178
+ const record = {};
1179
+ for (const [id, conn] of this._connections.entries()) {
1180
+ record[id] = conn;
1181
+ }
1182
+ return record;
1183
+ }
1184
+ getPermissions() {
1185
+ return this._permissionsStore.getPermissions();
1186
+ }
1187
+ requestPermissions(permissions) {
1188
+ return this._permissionsStore.requestPermissions(permissions);
1189
+ }
1190
+ revokePermissions(permissions) {
1191
+ return this._permissionsStore.revokePermissions(permissions);
1192
+ }
1193
+ setActiveConnectionIdIfUndefined(id) {
1194
+ if (!isDefined(this._activeConnectionId)) {
1195
+ this._activeConnectionId = id;
1196
+ }
1197
+ }
1198
+ };
1199
+
1200
+ // src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts
1201
+ var getPermissionsStoreFromTransport = /* @__PURE__ */ __name((transport) => {
1202
+ return {
1203
+ getPermissions: /* @__PURE__ */ __name(() => transport.sendRequest("xyoGateway_getPermissions"), "getPermissions"),
1204
+ requestPermissions: /* @__PURE__ */ __name((permissions) => transport.sendRequest("xyoGateway_requestPermissions", permissions), "requestPermissions"),
1205
+ revokePermissions: /* @__PURE__ */ __name((permissions) => transport.sendRequest("xyoGateway_revokePermissions", permissions), "revokePermissions")
1206
+ };
1207
+ }, "getPermissionsStoreFromTransport");
1208
+
1209
+ // src/provider/host/PermissionsStore/MemoryPermissionsStore.ts
1210
+ var MemoryPermissionsStore = class {
1211
+ static {
1212
+ __name(this, "MemoryPermissionsStore");
1213
+ }
1214
+ _store = /* @__PURE__ */ new Map();
1215
+ getPermissions() {
1216
+ return [
1217
+ ...this._store.values()
1218
+ ];
1219
+ }
1220
+ requestPermissions(permissions) {
1221
+ const now = Date.now();
1222
+ for (const perm of permissions) {
1223
+ const key = this.getKey(perm);
1224
+ this._store.set(key, {
1225
+ ...perm,
1226
+ date: now
1227
+ });
1228
+ }
1229
+ return true;
1230
+ }
1231
+ revokePermissions(permissions) {
1232
+ for (const perm of permissions) {
1233
+ const key = this.getKey(perm);
1234
+ this._store.delete(key);
1235
+ }
1236
+ return true;
1237
+ }
1238
+ getKey(permission) {
1239
+ return `${permission.invoker}::${permission.capability}`;
1240
+ }
1241
+ };
1242
+
1243
+ // src/provider/network/MemoryXyoNetwork.ts
1244
+ import { isUndefined } from "@xylabs/typeof";
1245
+ import { isNetworkStatus } from "@xyo-network/xl1-protocol";
1246
+ import axios from "axios";
1247
+
1248
+ // src/provider/network/lib/FailedNetworkStatusPayloads.ts
1249
+ import { NetworkStatusSchema } from "@xyo-network/xl1-protocol";
1250
+ var unknownStatus = {
1251
+ description: "Unknown Network Status",
1252
+ schema: NetworkStatusSchema,
1253
+ state: "unknown"
1254
+ };
1255
+ var errorStatus = {
1256
+ description: "Error Fetching Network Status",
1257
+ schema: NetworkStatusSchema,
1258
+ state: "unknown"
1259
+ };
1260
+
1261
+ // src/provider/network/lib/StatusNetworks.ts
1262
+ var MainNetworkStats = {
1263
+ id: "mainnet",
1264
+ statusUrl: "https://xyo.network/chain-network-status-mainnet.json"
1265
+ };
1266
+ var SequenceNetworkStats = {
1267
+ id: "sequence",
1268
+ statusUrl: "https://beta.xyo.network/chain-network-status-sequence.json"
1269
+ };
1270
+ var LocalNetworkStats = {
1271
+ id: "local",
1272
+ statusUrl: "http://localhost:3002/chain-network-status-local.json"
1273
+ };
1274
+ var StatusNetworks = {
1275
+ mainnet: MainNetworkStats,
1276
+ sequence: SequenceNetworkStats,
1277
+ local: LocalNetworkStats
1278
+ };
1279
+
1280
+ // src/provider/network/MemoryXyoNetwork.ts
1281
+ var MemoryXyoNetwork = class {
1282
+ static {
1283
+ __name(this, "MemoryXyoNetwork");
1284
+ }
1285
+ _networkId;
1286
+ constructor(networkId) {
1287
+ this._networkId = networkId;
1288
+ }
1289
+ async status() {
1290
+ const statusNetwork = StatusNetworks[this._networkId];
1291
+ if (isUndefined(statusNetwork)) {
1292
+ throw new Error(`Unknown status network ID: ${this._networkId}`);
1293
+ }
1294
+ return await this.makeRequest(statusNetwork.statusUrl);
1295
+ }
1296
+ async makeRequest(url) {
1297
+ try {
1298
+ const response = await axios.get(url);
1299
+ if (isNetworkStatus(response.data)) {
1300
+ return response.data;
1301
+ } else {
1302
+ if (response.status === 200) {
1303
+ console.error("Unknown network status response:", response.data);
1304
+ return unknownStatus;
1305
+ }
1306
+ return errorStatus;
1307
+ }
1308
+ } catch (error) {
1309
+ console.error("Error fetching network status:", error);
1310
+ return errorStatus;
1311
+ }
1312
+ }
1313
+ };
1314
+
1168
1315
  // src/transport/HttpRpcTransport.ts
1169
1316
  import { AxiosJson } from "@xylabs/axios";
1170
- import { isUndefinedOrNull } from "@xylabs/typeof";
1317
+ import { isError, isUndefinedOrNull } from "@xylabs/typeof";
1318
+ import { isAxiosError } from "axios";
1171
1319
  import { v4 } from "uuid";
1172
1320
  var HttpRpcTransport = class {
1173
1321
  static {
@@ -1183,21 +1331,29 @@ var HttpRpcTransport = class {
1183
1331
  return await this.callRpc(this._rpcUrl, this._schemas, method, params);
1184
1332
  }
1185
1333
  async callRpc(url, schemas, method, params) {
1186
- const id = v4();
1187
- const body = {
1188
- jsonrpc,
1189
- id,
1190
- method
1191
- };
1192
- if (params) {
1193
- body.params = schemas[method].params.to.parse(params);
1194
- }
1195
- const res = await new AxiosJson().post(url, body);
1196
- const json = res.data;
1197
- if (isUndefinedOrNull(json) || json.error) {
1198
- throw new Error(json.error.message);
1334
+ try {
1335
+ const id = v4();
1336
+ const body = {
1337
+ jsonrpc,
1338
+ id,
1339
+ method
1340
+ };
1341
+ if (params) {
1342
+ body.params = schemas[method].params.to.parse(params);
1343
+ }
1344
+ const res = await new AxiosJson().post(url, body);
1345
+ const json = res.data;
1346
+ if (isUndefinedOrNull(json) || json.error) {
1347
+ throw new Error(json.error.message);
1348
+ }
1349
+ return schemas[method].result.from.parse(json.result);
1350
+ } catch (ex) {
1351
+ let message = isError(ex) ? ex.message : String(ex);
1352
+ if (isAxiosError(ex)) {
1353
+ message = `Http error occurred [${ex.status}|${ex.code ?? "<unknown>"}]: ${ex.message}`;
1354
+ }
1355
+ throw new Error(`Error occurred while calling RPC method ${String(method)}: ${message}`);
1199
1356
  }
1200
- return schemas[method].result.from.parse(json.result);
1201
1357
  }
1202
1358
  };
1203
1359
 
@@ -1241,7 +1397,7 @@ var MemoryRpcTransport = class {
1241
1397
  };
1242
1398
 
1243
1399
  // src/transport/post-message/PostMessageRpcTransport.ts
1244
- import { isDefined } from "@xylabs/typeof";
1400
+ import { isDefined as isDefined2 } from "@xylabs/typeof";
1245
1401
  import { v4 as v43 } from "uuid";
1246
1402
 
1247
1403
  // src/transport/post-message/helpers.ts
@@ -1280,7 +1436,7 @@ var PostMessageRpcTransport = class {
1280
1436
  id,
1281
1437
  method
1282
1438
  };
1283
- body.params = isDefined(params) && isDefined(schemas[method]) ? schemas[method].params.to.parse(params) : params;
1439
+ body.params = isDefined2(params) && isDefined2(schemas[method]) ? schemas[method].params.to.parse(params) : params;
1284
1440
  return await new Promise((resolve, reject) => {
1285
1441
  const id2 = body.id;
1286
1442
  const handler = /* @__PURE__ */ __name((event) => {
@@ -1311,7 +1467,9 @@ export {
1311
1467
  JsonRpcXyoRunner,
1312
1468
  JsonRpcXyoSigner,
1313
1469
  JsonRpcXyoViewer,
1470
+ MemoryPermissionsStore,
1314
1471
  MemoryRpcTransport,
1472
+ MemoryXyoGateway,
1315
1473
  MemoryXyoNetwork,
1316
1474
  MemoryXyoRunner,
1317
1475
  MemoryXyoSigner,
@@ -1319,6 +1477,7 @@ export {
1319
1477
  PermissionSchema,
1320
1478
  PostMessageRpcTransport,
1321
1479
  RpcXyoConnection,
1480
+ RpcXyoSigner,
1322
1481
  XyoConnection,
1323
1482
  XyoGatewayRpcSchemas,
1324
1483
  XyoProviderRpcSchemas,
@@ -1328,6 +1487,7 @@ export {
1328
1487
  buildSessionMessageRequest,
1329
1488
  createRequestSchema,
1330
1489
  createResponseSchema,
1490
+ getPermissionsStoreFromTransport,
1331
1491
  jsonrpc,
1332
1492
  requestSchemas,
1333
1493
  rpcEngineFromProvider,