@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.
- package/README.md +539 -261
- package/dist/neutral/engine/rpcMethodHandlersFromSigner.d.ts.map +1 -1
- package/dist/neutral/index.mjs +251 -91
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/provider/host/Abstract.d.ts +13 -0
- package/dist/neutral/provider/host/Abstract.d.ts.map +1 -0
- package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts +2 -11
- package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts.map +1 -1
- package/dist/neutral/provider/host/MemoryXyoGateway.d.ts +22 -0
- package/dist/neutral/provider/host/MemoryXyoGateway.d.ts.map +1 -0
- package/dist/neutral/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts +11 -0
- package/dist/neutral/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
- package/dist/neutral/provider/host/PermissionsStore/PermissionsStore.d.ts +8 -0
- package/dist/neutral/provider/host/PermissionsStore/PermissionsStore.d.ts.map +1 -0
- package/dist/neutral/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts +5 -0
- package/dist/neutral/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
- package/dist/neutral/provider/host/PermissionsStore/index.d.ts +4 -0
- package/dist/neutral/provider/host/PermissionsStore/index.d.ts.map +1 -0
- package/dist/neutral/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +2 -0
- package/dist/neutral/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
- package/dist/neutral/provider/host/index.d.ts +3 -0
- package/dist/neutral/provider/host/index.d.ts.map +1 -1
- package/dist/neutral/provider/host/spec/MemoryXyoGateway.spec.d.ts +2 -0
- package/dist/neutral/provider/host/spec/MemoryXyoGateway.spec.d.ts.map +1 -0
- package/dist/neutral/provider/provider/XyoConnection.d.ts +6 -9
- package/dist/neutral/provider/provider/XyoConnection.d.ts.map +1 -1
- package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts +9 -2
- package/dist/neutral/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
- package/dist/neutral/provider/signer/MemoryXyoSigner.d.ts +3 -1
- package/dist/neutral/provider/signer/MemoryXyoSigner.d.ts.map +1 -1
- package/dist/neutral/transport/HttpRpcTransport.d.ts.map +1 -1
- package/dist/neutral/types/schema/XyoSignerRpcSchemas.d.ts.map +1 -1
- package/dist/node/engine/rpcMethodHandlersFromSigner.d.ts.map +1 -1
- package/dist/node/index-node.mjs +253 -93
- package/dist/node/index-node.mjs.map +1 -1
- package/dist/node/provider/host/Abstract.d.ts +13 -0
- package/dist/node/provider/host/Abstract.d.ts.map +1 -0
- package/dist/node/provider/host/JsonRpcXyoGateway.d.ts +2 -11
- package/dist/node/provider/host/JsonRpcXyoGateway.d.ts.map +1 -1
- package/dist/node/provider/host/MemoryXyoGateway.d.ts +22 -0
- package/dist/node/provider/host/MemoryXyoGateway.d.ts.map +1 -0
- package/dist/node/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts +11 -0
- package/dist/node/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
- package/dist/node/provider/host/PermissionsStore/PermissionsStore.d.ts +8 -0
- package/dist/node/provider/host/PermissionsStore/PermissionsStore.d.ts.map +1 -0
- package/dist/node/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts +5 -0
- package/dist/node/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
- package/dist/node/provider/host/PermissionsStore/index.d.ts +4 -0
- package/dist/node/provider/host/PermissionsStore/index.d.ts.map +1 -0
- package/dist/node/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +2 -0
- package/dist/node/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
- package/dist/node/provider/host/index.d.ts +3 -0
- package/dist/node/provider/host/index.d.ts.map +1 -1
- package/dist/node/provider/host/spec/MemoryXyoGateway.spec.d.ts +2 -0
- package/dist/node/provider/host/spec/MemoryXyoGateway.spec.d.ts.map +1 -0
- package/dist/node/provider/provider/XyoConnection.d.ts +6 -9
- package/dist/node/provider/provider/XyoConnection.d.ts.map +1 -1
- package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts +9 -2
- package/dist/node/provider/signer/JsonRpcXyoSigner.d.ts.map +1 -1
- package/dist/node/provider/signer/MemoryXyoSigner.d.ts +3 -1
- package/dist/node/provider/signer/MemoryXyoSigner.d.ts.map +1 -1
- package/dist/node/transport/HttpRpcTransport.d.ts.map +1 -1
- package/dist/node/types/schema/XyoSignerRpcSchemas.d.ts.map +1 -1
- package/package.json +26 -25
- package/src/engine/rpcMethodHandlersFromSigner.ts +1 -0
- package/src/provider/host/Abstract.ts +30 -0
- package/src/provider/host/JsonRpcXyoGateway.ts +2 -28
- package/src/provider/host/MemoryXyoGateway.ts +84 -0
- package/src/provider/host/PermissionsStore/MemoryPermissionsStore.ts +33 -0
- package/src/provider/host/PermissionsStore/PermissionsStore.ts +8 -0
- package/src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts +13 -0
- package/src/provider/host/PermissionsStore/index.ts +3 -0
- package/src/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.ts +78 -0
- package/src/provider/host/index.ts +3 -0
- package/src/provider/host/spec/MemoryXyoGateway.spec.ts +78 -0
- package/src/provider/provider/XyoConnection.ts +20 -10
- package/src/provider/signer/JsonRpcXyoSigner.ts +13 -2
- package/src/provider/signer/MemoryXyoSigner.ts +6 -1
- package/src/provider/signer/spec/RpcEngineXyoSigner.spec.ts +2 -2
- package/src/transport/HttpRpcTransport.ts +25 -16
- package/src/types/schema/XyoSignerRpcSchemas.ts +14 -1
package/dist/node/index-node.mjs
CHANGED
|
@@ -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/
|
|
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/
|
|
789
|
-
import {
|
|
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
|
|
891
|
+
var RpcXyoSigner = class {
|
|
944
892
|
static {
|
|
945
|
-
__name(this, "
|
|
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 {
|
|
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
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
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 =
|
|
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,
|