@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcMethodHandlersFromSigner.d.ts","sourceRoot":"","sources":["../../../src/engine/rpcMethodHandlersFromSigner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAE1D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAEnE,eAAO,MAAM,2BAA2B,GAAI,QAAQ,SAAS,KAAG,
|
|
1
|
+
{"version":3,"file":"rpcMethodHandlersFromSigner.d.ts","sourceRoot":"","sources":["../../../src/engine/rpcMethodHandlersFromSigner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAE1D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAEnE,eAAO,MAAM,2BAA2B,GAAI,QAAQ,SAAS,KAAG,0BAM/D,CAAA"}
|
package/dist/neutral/index.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
|
|
|
@@ -58,7 +59,7 @@ var rpcMethodHandlersFromProvider = /* @__PURE__ */ __name((provider) => {
|
|
|
58
59
|
return result;
|
|
59
60
|
}, "rpcMethodHandlersFromProvider");
|
|
60
61
|
|
|
61
|
-
// src/provider/host/
|
|
62
|
+
// src/provider/host/Abstract.ts
|
|
62
63
|
import { assertEx } from "@xylabs/assert";
|
|
63
64
|
var AbstractXyoGateway = class {
|
|
64
65
|
static {
|
|
@@ -68,6 +69,8 @@ var AbstractXyoGateway = class {
|
|
|
68
69
|
return assertEx(assertEx(await this.activeConnection(), () => "No active connection available for transaction submission").submitTransaction, () => "Active connection does not support transaction submission")(elevatedPayloads, additionalPayloads);
|
|
69
70
|
}
|
|
70
71
|
};
|
|
72
|
+
|
|
73
|
+
// src/provider/host/JsonRpcXyoGateway.ts
|
|
71
74
|
var JsonRpcXyoGateway = class extends AbstractXyoGateway {
|
|
72
75
|
static {
|
|
73
76
|
__name(this, "JsonRpcXyoGateway");
|
|
@@ -97,77 +100,8 @@ var JsonRpcXyoGateway = class extends AbstractXyoGateway {
|
|
|
97
100
|
}
|
|
98
101
|
};
|
|
99
102
|
|
|
100
|
-
// src/provider/
|
|
101
|
-
import {
|
|
102
|
-
import { isNetworkStatus } from "@xyo-network/xl1-protocol";
|
|
103
|
-
import axios from "axios";
|
|
104
|
-
|
|
105
|
-
// src/provider/network/lib/FailedNetworkStatusPayloads.ts
|
|
106
|
-
import { NetworkStatusSchema } from "@xyo-network/xl1-protocol";
|
|
107
|
-
var unknownStatus = {
|
|
108
|
-
description: "Unknown Network Status",
|
|
109
|
-
schema: NetworkStatusSchema,
|
|
110
|
-
state: "unknown"
|
|
111
|
-
};
|
|
112
|
-
var errorStatus = {
|
|
113
|
-
description: "Error Fetching Network Status",
|
|
114
|
-
schema: NetworkStatusSchema,
|
|
115
|
-
state: "unknown"
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
// src/provider/network/lib/StatusNetworks.ts
|
|
119
|
-
var MainNetworkStats = {
|
|
120
|
-
id: "mainnet",
|
|
121
|
-
statusUrl: "https://xyo.network/chain-network-status-mainnet.json"
|
|
122
|
-
};
|
|
123
|
-
var SequenceNetworkStats = {
|
|
124
|
-
id: "sequence",
|
|
125
|
-
statusUrl: "https://beta.xyo.network/chain-network-status-sequence.json"
|
|
126
|
-
};
|
|
127
|
-
var LocalNetworkStats = {
|
|
128
|
-
id: "local",
|
|
129
|
-
statusUrl: "http://localhost:3002/chain-network-status-local.json"
|
|
130
|
-
};
|
|
131
|
-
var StatusNetworks = {
|
|
132
|
-
mainnet: MainNetworkStats,
|
|
133
|
-
sequence: SequenceNetworkStats,
|
|
134
|
-
local: LocalNetworkStats
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
// src/provider/network/MemoryXyoNetwork.ts
|
|
138
|
-
var MemoryXyoNetwork = class {
|
|
139
|
-
static {
|
|
140
|
-
__name(this, "MemoryXyoNetwork");
|
|
141
|
-
}
|
|
142
|
-
_networkId;
|
|
143
|
-
constructor(networkId) {
|
|
144
|
-
this._networkId = networkId;
|
|
145
|
-
}
|
|
146
|
-
async status() {
|
|
147
|
-
const statusNetwork = StatusNetworks[this._networkId];
|
|
148
|
-
if (isUndefined(statusNetwork)) {
|
|
149
|
-
throw new Error(`Unknown status network ID: ${this._networkId}`);
|
|
150
|
-
}
|
|
151
|
-
return await this.makeRequest(statusNetwork.statusUrl);
|
|
152
|
-
}
|
|
153
|
-
async makeRequest(url) {
|
|
154
|
-
try {
|
|
155
|
-
const response = await axios.get(url);
|
|
156
|
-
if (isNetworkStatus(response.data)) {
|
|
157
|
-
return response.data;
|
|
158
|
-
} else {
|
|
159
|
-
if (response.status === 200) {
|
|
160
|
-
console.error("Unknown network status response:", response.data);
|
|
161
|
-
return unknownStatus;
|
|
162
|
-
}
|
|
163
|
-
return errorStatus;
|
|
164
|
-
}
|
|
165
|
-
} catch (error) {
|
|
166
|
-
console.error("Error fetching network status:", error);
|
|
167
|
-
return errorStatus;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
};
|
|
103
|
+
// src/provider/host/MemoryXyoGateway.ts
|
|
104
|
+
import { isDefined as isDefined2 } from "@xylabs/typeof";
|
|
171
105
|
|
|
172
106
|
// src/types/ErrorCodes.ts
|
|
173
107
|
var JsonRpcErrorCodes = {
|
|
@@ -470,6 +404,20 @@ var XyoSignerRpcSchemas = {
|
|
|
470
404
|
to: SignedTransactionBoundWitnessSchema,
|
|
471
405
|
from: SignedTransactionBoundWitnessSchema
|
|
472
406
|
}
|
|
407
|
+
},
|
|
408
|
+
xyoSigner_signTransaction: {
|
|
409
|
+
params: {
|
|
410
|
+
to: z16.tuple([
|
|
411
|
+
HydratedTransactionSchema
|
|
412
|
+
]),
|
|
413
|
+
from: z16.tuple([
|
|
414
|
+
HydratedTransactionSchema
|
|
415
|
+
])
|
|
416
|
+
},
|
|
417
|
+
result: {
|
|
418
|
+
to: SignedHydratedTransactionSchema,
|
|
419
|
+
from: SignedHydratedTransactionSchema
|
|
420
|
+
}
|
|
473
421
|
}
|
|
474
422
|
};
|
|
475
423
|
|
|
@@ -822,7 +770,8 @@ var XyoGatewayRpcSchemas = {
|
|
|
822
770
|
|
|
823
771
|
// src/transport/HttpRpcTransport.ts
|
|
824
772
|
import { AxiosJson } from "@xylabs/axios";
|
|
825
|
-
import { isUndefinedOrNull } from "@xylabs/typeof";
|
|
773
|
+
import { isError, isUndefinedOrNull } from "@xylabs/typeof";
|
|
774
|
+
import { isAxiosError } from "axios";
|
|
826
775
|
import { v4 } from "uuid";
|
|
827
776
|
var HttpRpcTransport = class {
|
|
828
777
|
static {
|
|
@@ -838,21 +787,29 @@ var HttpRpcTransport = class {
|
|
|
838
787
|
return await this.callRpc(this._rpcUrl, this._schemas, method, params);
|
|
839
788
|
}
|
|
840
789
|
async callRpc(url, schemas, method, params) {
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
790
|
+
try {
|
|
791
|
+
const id = v4();
|
|
792
|
+
const body = {
|
|
793
|
+
jsonrpc,
|
|
794
|
+
id,
|
|
795
|
+
method
|
|
796
|
+
};
|
|
797
|
+
if (params) {
|
|
798
|
+
body.params = schemas[method].params.to.parse(params);
|
|
799
|
+
}
|
|
800
|
+
const res = await new AxiosJson().post(url, body);
|
|
801
|
+
const json = res.data;
|
|
802
|
+
if (isUndefinedOrNull(json) || json.error) {
|
|
803
|
+
throw new Error(json.error.message);
|
|
804
|
+
}
|
|
805
|
+
return schemas[method].result.from.parse(json.result);
|
|
806
|
+
} catch (ex) {
|
|
807
|
+
let message = isError(ex) ? ex.message : String(ex);
|
|
808
|
+
if (isAxiosError(ex)) {
|
|
809
|
+
message = `Http error occurred [${ex.status}|${ex.code ?? "<unknown>"}]: ${ex.message}`;
|
|
810
|
+
}
|
|
811
|
+
throw new Error(`Error occurred while calling RPC method ${String(method)}: ${message}`);
|
|
854
812
|
}
|
|
855
|
-
return schemas[method].result.from.parse(json.result);
|
|
856
813
|
}
|
|
857
814
|
};
|
|
858
815
|
|
|
@@ -1037,9 +994,9 @@ var NodeXyoRunner = class {
|
|
|
1037
994
|
};
|
|
1038
995
|
|
|
1039
996
|
// src/provider/signer/JsonRpcXyoSigner.ts
|
|
1040
|
-
var
|
|
997
|
+
var RpcXyoSigner = class {
|
|
1041
998
|
static {
|
|
1042
|
-
__name(this, "
|
|
999
|
+
__name(this, "RpcXyoSigner");
|
|
1043
1000
|
}
|
|
1044
1001
|
transport;
|
|
1045
1002
|
constructor(transport) {
|
|
@@ -1059,6 +1016,14 @@ var JsonRpcXyoSigner = class {
|
|
|
1059
1016
|
from
|
|
1060
1017
|
]);
|
|
1061
1018
|
}
|
|
1019
|
+
signTransaction(tx) {
|
|
1020
|
+
throw new Error("Method not implemented.");
|
|
1021
|
+
}
|
|
1022
|
+
};
|
|
1023
|
+
var JsonRpcXyoSigner = class extends RpcXyoSigner {
|
|
1024
|
+
static {
|
|
1025
|
+
__name(this, "JsonRpcXyoSigner");
|
|
1026
|
+
}
|
|
1062
1027
|
};
|
|
1063
1028
|
|
|
1064
1029
|
// src/provider/signer/MemoryXyoSigner.ts
|
|
@@ -1079,6 +1044,9 @@ var MemoryXyoSigner = class {
|
|
|
1079
1044
|
const transaction = await buildTransaction(chain, elevatedPayloads, additionalPayloads, this._account, nbf, exp, fromAddress, fees);
|
|
1080
1045
|
return transaction[0];
|
|
1081
1046
|
}
|
|
1047
|
+
signTransaction(_tx) {
|
|
1048
|
+
throw new Error("Method not implemented.");
|
|
1049
|
+
}
|
|
1082
1050
|
};
|
|
1083
1051
|
|
|
1084
1052
|
// src/provider/viewer/JsonRpcXyoViewer.ts
|
|
@@ -1179,8 +1147,10 @@ var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm
|
|
|
1179
1147
|
|
|
1180
1148
|
// src/provider/provider/XyoConnection.ts
|
|
1181
1149
|
import { assertEx as assertEx3 } from "@xylabs/assert";
|
|
1150
|
+
import { HydratedTransactionWrapper } from "@xyo-network/chain-wrappers";
|
|
1182
1151
|
import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
|
|
1183
|
-
import {
|
|
1152
|
+
import { isAnyPayload } from "@xyo-network/payload-model";
|
|
1153
|
+
import { defaultTransactionFees, isDataLakeProvider } from "@xyo-network/xl1-protocol";
|
|
1184
1154
|
var XyoConnection = class {
|
|
1185
1155
|
static {
|
|
1186
1156
|
__name(this, "XyoConnection");
|
|
@@ -1188,11 +1158,13 @@ var XyoConnection = class {
|
|
|
1188
1158
|
_network;
|
|
1189
1159
|
_runner;
|
|
1190
1160
|
_signer;
|
|
1161
|
+
_storage;
|
|
1191
1162
|
_viewer;
|
|
1192
1163
|
constructor(params) {
|
|
1193
1164
|
this._network = params?.network;
|
|
1194
1165
|
this._runner = params?.runner;
|
|
1195
1166
|
this._signer = params?.signer;
|
|
1167
|
+
this._storage = params?.storage;
|
|
1196
1168
|
this._viewer = params?.viewer;
|
|
1197
1169
|
}
|
|
1198
1170
|
get network() {
|
|
@@ -1204,6 +1176,9 @@ var XyoConnection = class {
|
|
|
1204
1176
|
get signer() {
|
|
1205
1177
|
return this._signer;
|
|
1206
1178
|
}
|
|
1179
|
+
get storage() {
|
|
1180
|
+
return this._storage;
|
|
1181
|
+
}
|
|
1207
1182
|
get viewer() {
|
|
1208
1183
|
return this._viewer;
|
|
1209
1184
|
}
|
|
@@ -1221,6 +1196,7 @@ var XyoConnection = class {
|
|
|
1221
1196
|
const viewer = assertEx3(this.viewer, () => "No viewer available");
|
|
1222
1197
|
const signer = assertEx3(this.signer, () => "No signer available");
|
|
1223
1198
|
const runner = assertEx3(this.runner, () => "No runner available");
|
|
1199
|
+
const storage = this.storage;
|
|
1224
1200
|
const chainResolved = chain ?? await viewer.chainId();
|
|
1225
1201
|
if (chainResolved === void 0) throw new Error("Failed to determine chain");
|
|
1226
1202
|
const nbfResolved = Math.max(await viewer.currentBlockNumber() ?? 0, nbf ?? 0);
|
|
@@ -1233,6 +1209,10 @@ var XyoConnection = class {
|
|
|
1233
1209
|
await PayloadBuilder4.addStorageMeta(signedTransaction),
|
|
1234
1210
|
await PayloadBuilder4.addStorageMeta(elevatedPayloads)
|
|
1235
1211
|
];
|
|
1212
|
+
if (isDataLakeProvider(storage)) {
|
|
1213
|
+
const wrapper = await HydratedTransactionWrapper.parse(hydratedTransaction);
|
|
1214
|
+
await storage.add(Object.values(wrapper.externalPayloads).filter(isAnyPayload));
|
|
1215
|
+
}
|
|
1236
1216
|
assertEx3(await runner.broadcastTransaction(hydratedTransaction), () => "Failed to broadcast transaction");
|
|
1237
1217
|
return hydratedTransaction;
|
|
1238
1218
|
}
|
|
@@ -1261,6 +1241,182 @@ var RpcXyoConnection = class extends XyoConnection {
|
|
|
1261
1241
|
return await confirmTransaction(this, tx, onConfirm, onTimeout);
|
|
1262
1242
|
}
|
|
1263
1243
|
};
|
|
1244
|
+
|
|
1245
|
+
// src/provider/host/MemoryXyoGateway.ts
|
|
1246
|
+
var MemoryXyoGateway = class extends AbstractXyoGateway {
|
|
1247
|
+
static {
|
|
1248
|
+
__name(this, "MemoryXyoGateway");
|
|
1249
|
+
}
|
|
1250
|
+
_activeConnectionId;
|
|
1251
|
+
_connections = /* @__PURE__ */ new Map();
|
|
1252
|
+
_permissionsStore;
|
|
1253
|
+
_signer;
|
|
1254
|
+
constructor(signer, permissionsStore) {
|
|
1255
|
+
super();
|
|
1256
|
+
this._signer = signer;
|
|
1257
|
+
this._permissionsStore = permissionsStore;
|
|
1258
|
+
}
|
|
1259
|
+
get signer() {
|
|
1260
|
+
return this._signer;
|
|
1261
|
+
}
|
|
1262
|
+
activeConnection() {
|
|
1263
|
+
return isDefined2(this._activeConnectionId) ? this._connections.get(this._activeConnectionId) : void 0;
|
|
1264
|
+
}
|
|
1265
|
+
addConnection(configOrName, connection) {
|
|
1266
|
+
if (typeof configOrName === "string" && connection !== void 0) {
|
|
1267
|
+
const name = configOrName;
|
|
1268
|
+
this._connections.set(name, connection);
|
|
1269
|
+
this.setActiveConnectionIdIfUndefined(name);
|
|
1270
|
+
return connection;
|
|
1271
|
+
} else if (typeof configOrName === "object") {
|
|
1272
|
+
const config = configOrName;
|
|
1273
|
+
const { name, dataLakeEndpoint, networkEndpoint } = config;
|
|
1274
|
+
const rpcConnection = new RpcXyoConnection({
|
|
1275
|
+
endpoint: networkEndpoint
|
|
1276
|
+
});
|
|
1277
|
+
this._connections.set(name, rpcConnection);
|
|
1278
|
+
this.setActiveConnectionIdIfUndefined(name);
|
|
1279
|
+
return rpcConnection;
|
|
1280
|
+
}
|
|
1281
|
+
throw new Error("Invalid arguments passed to addConnection");
|
|
1282
|
+
}
|
|
1283
|
+
connections() {
|
|
1284
|
+
const record = {};
|
|
1285
|
+
for (const [id, conn] of this._connections.entries()) {
|
|
1286
|
+
record[id] = conn;
|
|
1287
|
+
}
|
|
1288
|
+
return record;
|
|
1289
|
+
}
|
|
1290
|
+
getPermissions() {
|
|
1291
|
+
return this._permissionsStore.getPermissions();
|
|
1292
|
+
}
|
|
1293
|
+
requestPermissions(permissions) {
|
|
1294
|
+
return this._permissionsStore.requestPermissions(permissions);
|
|
1295
|
+
}
|
|
1296
|
+
revokePermissions(permissions) {
|
|
1297
|
+
return this._permissionsStore.revokePermissions(permissions);
|
|
1298
|
+
}
|
|
1299
|
+
setActiveConnectionIdIfUndefined(id) {
|
|
1300
|
+
if (!isDefined2(this._activeConnectionId)) {
|
|
1301
|
+
this._activeConnectionId = id;
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
};
|
|
1305
|
+
|
|
1306
|
+
// src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts
|
|
1307
|
+
var getPermissionsStoreFromTransport = /* @__PURE__ */ __name((transport) => {
|
|
1308
|
+
return {
|
|
1309
|
+
getPermissions: /* @__PURE__ */ __name(() => transport.sendRequest("xyoGateway_getPermissions"), "getPermissions"),
|
|
1310
|
+
requestPermissions: /* @__PURE__ */ __name((permissions) => transport.sendRequest("xyoGateway_requestPermissions", permissions), "requestPermissions"),
|
|
1311
|
+
revokePermissions: /* @__PURE__ */ __name((permissions) => transport.sendRequest("xyoGateway_revokePermissions", permissions), "revokePermissions")
|
|
1312
|
+
};
|
|
1313
|
+
}, "getPermissionsStoreFromTransport");
|
|
1314
|
+
|
|
1315
|
+
// src/provider/host/PermissionsStore/MemoryPermissionsStore.ts
|
|
1316
|
+
var MemoryPermissionsStore = class {
|
|
1317
|
+
static {
|
|
1318
|
+
__name(this, "MemoryPermissionsStore");
|
|
1319
|
+
}
|
|
1320
|
+
_store = /* @__PURE__ */ new Map();
|
|
1321
|
+
getPermissions() {
|
|
1322
|
+
return [
|
|
1323
|
+
...this._store.values()
|
|
1324
|
+
];
|
|
1325
|
+
}
|
|
1326
|
+
requestPermissions(permissions) {
|
|
1327
|
+
const now = Date.now();
|
|
1328
|
+
for (const perm of permissions) {
|
|
1329
|
+
const key = this.getKey(perm);
|
|
1330
|
+
this._store.set(key, {
|
|
1331
|
+
...perm,
|
|
1332
|
+
date: now
|
|
1333
|
+
});
|
|
1334
|
+
}
|
|
1335
|
+
return true;
|
|
1336
|
+
}
|
|
1337
|
+
revokePermissions(permissions) {
|
|
1338
|
+
for (const perm of permissions) {
|
|
1339
|
+
const key = this.getKey(perm);
|
|
1340
|
+
this._store.delete(key);
|
|
1341
|
+
}
|
|
1342
|
+
return true;
|
|
1343
|
+
}
|
|
1344
|
+
getKey(permission) {
|
|
1345
|
+
return `${permission.invoker}::${permission.capability}`;
|
|
1346
|
+
}
|
|
1347
|
+
};
|
|
1348
|
+
|
|
1349
|
+
// src/provider/network/MemoryXyoNetwork.ts
|
|
1350
|
+
import { isUndefined } from "@xylabs/typeof";
|
|
1351
|
+
import { isNetworkStatus } from "@xyo-network/xl1-protocol";
|
|
1352
|
+
import axios from "axios";
|
|
1353
|
+
|
|
1354
|
+
// src/provider/network/lib/FailedNetworkStatusPayloads.ts
|
|
1355
|
+
import { NetworkStatusSchema } from "@xyo-network/xl1-protocol";
|
|
1356
|
+
var unknownStatus = {
|
|
1357
|
+
description: "Unknown Network Status",
|
|
1358
|
+
schema: NetworkStatusSchema,
|
|
1359
|
+
state: "unknown"
|
|
1360
|
+
};
|
|
1361
|
+
var errorStatus = {
|
|
1362
|
+
description: "Error Fetching Network Status",
|
|
1363
|
+
schema: NetworkStatusSchema,
|
|
1364
|
+
state: "unknown"
|
|
1365
|
+
};
|
|
1366
|
+
|
|
1367
|
+
// src/provider/network/lib/StatusNetworks.ts
|
|
1368
|
+
var MainNetworkStats = {
|
|
1369
|
+
id: "mainnet",
|
|
1370
|
+
statusUrl: "https://xyo.network/chain-network-status-mainnet.json"
|
|
1371
|
+
};
|
|
1372
|
+
var SequenceNetworkStats = {
|
|
1373
|
+
id: "sequence",
|
|
1374
|
+
statusUrl: "https://beta.xyo.network/chain-network-status-sequence.json"
|
|
1375
|
+
};
|
|
1376
|
+
var LocalNetworkStats = {
|
|
1377
|
+
id: "local",
|
|
1378
|
+
statusUrl: "http://localhost:3002/chain-network-status-local.json"
|
|
1379
|
+
};
|
|
1380
|
+
var StatusNetworks = {
|
|
1381
|
+
mainnet: MainNetworkStats,
|
|
1382
|
+
sequence: SequenceNetworkStats,
|
|
1383
|
+
local: LocalNetworkStats
|
|
1384
|
+
};
|
|
1385
|
+
|
|
1386
|
+
// src/provider/network/MemoryXyoNetwork.ts
|
|
1387
|
+
var MemoryXyoNetwork = class {
|
|
1388
|
+
static {
|
|
1389
|
+
__name(this, "MemoryXyoNetwork");
|
|
1390
|
+
}
|
|
1391
|
+
_networkId;
|
|
1392
|
+
constructor(networkId) {
|
|
1393
|
+
this._networkId = networkId;
|
|
1394
|
+
}
|
|
1395
|
+
async status() {
|
|
1396
|
+
const statusNetwork = StatusNetworks[this._networkId];
|
|
1397
|
+
if (isUndefined(statusNetwork)) {
|
|
1398
|
+
throw new Error(`Unknown status network ID: ${this._networkId}`);
|
|
1399
|
+
}
|
|
1400
|
+
return await this.makeRequest(statusNetwork.statusUrl);
|
|
1401
|
+
}
|
|
1402
|
+
async makeRequest(url) {
|
|
1403
|
+
try {
|
|
1404
|
+
const response = await axios.get(url);
|
|
1405
|
+
if (isNetworkStatus(response.data)) {
|
|
1406
|
+
return response.data;
|
|
1407
|
+
} else {
|
|
1408
|
+
if (response.status === 200) {
|
|
1409
|
+
console.error("Unknown network status response:", response.data);
|
|
1410
|
+
return unknownStatus;
|
|
1411
|
+
}
|
|
1412
|
+
return errorStatus;
|
|
1413
|
+
}
|
|
1414
|
+
} catch (error) {
|
|
1415
|
+
console.error("Error fetching network status:", error);
|
|
1416
|
+
return errorStatus;
|
|
1417
|
+
}
|
|
1418
|
+
}
|
|
1419
|
+
};
|
|
1264
1420
|
export {
|
|
1265
1421
|
AbstractXyoGateway,
|
|
1266
1422
|
AllRpcSchemas,
|
|
@@ -1274,7 +1430,9 @@ export {
|
|
|
1274
1430
|
JsonRpcXyoRunner,
|
|
1275
1431
|
JsonRpcXyoSigner,
|
|
1276
1432
|
JsonRpcXyoViewer,
|
|
1433
|
+
MemoryPermissionsStore,
|
|
1277
1434
|
MemoryRpcTransport,
|
|
1435
|
+
MemoryXyoGateway,
|
|
1278
1436
|
MemoryXyoNetwork,
|
|
1279
1437
|
MemoryXyoRunner,
|
|
1280
1438
|
MemoryXyoSigner,
|
|
@@ -1282,6 +1440,7 @@ export {
|
|
|
1282
1440
|
PermissionSchema,
|
|
1283
1441
|
PostMessageRpcTransport,
|
|
1284
1442
|
RpcXyoConnection,
|
|
1443
|
+
RpcXyoSigner,
|
|
1285
1444
|
XyoConnection,
|
|
1286
1445
|
XyoGatewayRpcSchemas,
|
|
1287
1446
|
XyoProviderRpcSchemas,
|
|
@@ -1291,6 +1450,7 @@ export {
|
|
|
1291
1450
|
buildSessionMessageRequest,
|
|
1292
1451
|
createRequestSchema,
|
|
1293
1452
|
createResponseSchema,
|
|
1453
|
+
getPermissionsStoreFromTransport,
|
|
1294
1454
|
jsonrpc,
|
|
1295
1455
|
requestSchemas,
|
|
1296
1456
|
rpcMethodHandlersFromProvider
|