@xyo-network/xl1-rpc 1.7.17 → 1.7.19
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 +225 -251
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/provider/client/MemoryXyoClient.d.ts +4 -5
- package/dist/neutral/provider/client/MemoryXyoClient.d.ts.map +1 -1
- package/dist/neutral/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
- package/dist/neutral/provider/client/PermissionsStore/PermissionsStore.d.ts.map +1 -0
- package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
- package/dist/neutral/provider/client/PermissionsStore/index.d.ts.map +1 -0
- package/dist/neutral/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
- package/dist/neutral/provider/client/index.d.ts +1 -1
- package/dist/neutral/provider/client/index.d.ts.map +1 -1
- package/dist/neutral/provider/host/Abstract.d.ts +9 -7
- package/dist/neutral/provider/host/Abstract.d.ts.map +1 -1
- package/dist/neutral/provider/host/MemoryXyoGateway.d.ts +5 -17
- package/dist/neutral/provider/host/MemoryXyoGateway.d.ts.map +1 -1
- package/dist/neutral/provider/host/index.d.ts +0 -2
- package/dist/neutral/provider/host/index.d.ts.map +1 -1
- package/dist/neutral/provider/index.d.ts +1 -0
- package/dist/neutral/provider/index.d.ts.map +1 -1
- package/dist/neutral/provider/provider/RpcXyoConnection.d.ts +0 -3
- package/dist/neutral/provider/provider/RpcXyoConnection.d.ts.map +1 -1
- package/dist/neutral/provider/provider/confirmSubmittedTransaction.d.ts +21 -0
- package/dist/neutral/provider/provider/confirmSubmittedTransaction.d.ts.map +1 -0
- package/dist/neutral/provider/provider/index.d.ts +1 -0
- package/dist/neutral/provider/provider/index.d.ts.map +1 -1
- package/dist/neutral/types/XyoGatewayRpc.d.ts +1 -1
- package/dist/neutral/types/XyoGatewayRpc.d.ts.map +1 -1
- package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
- package/dist/neutral/types/schema/common/JsonSchema.d.ts +7 -0
- package/dist/neutral/types/schema/common/JsonSchema.d.ts.map +1 -0
- package/dist/neutral/types/schema/common/index.d.ts +1 -0
- package/dist/neutral/types/schema/common/index.d.ts.map +1 -1
- package/dist/node/index-node.mjs +223 -249
- package/dist/node/index-node.mjs.map +1 -1
- package/dist/node/provider/client/MemoryXyoClient.d.ts +4 -5
- package/dist/node/provider/client/MemoryXyoClient.d.ts.map +1 -1
- package/dist/node/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
- package/dist/node/provider/client/PermissionsStore/PermissionsStore.d.ts.map +1 -0
- package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
- package/dist/node/provider/client/PermissionsStore/index.d.ts.map +1 -0
- package/dist/node/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
- package/dist/node/provider/client/index.d.ts +1 -1
- package/dist/node/provider/client/index.d.ts.map +1 -1
- package/dist/node/provider/host/Abstract.d.ts +9 -7
- package/dist/node/provider/host/Abstract.d.ts.map +1 -1
- package/dist/node/provider/host/MemoryXyoGateway.d.ts +5 -17
- package/dist/node/provider/host/MemoryXyoGateway.d.ts.map +1 -1
- package/dist/node/provider/host/index.d.ts +0 -2
- package/dist/node/provider/host/index.d.ts.map +1 -1
- package/dist/node/provider/index.d.ts +1 -0
- package/dist/node/provider/index.d.ts.map +1 -1
- package/dist/node/provider/provider/RpcXyoConnection.d.ts +0 -3
- package/dist/node/provider/provider/RpcXyoConnection.d.ts.map +1 -1
- package/dist/node/provider/provider/confirmSubmittedTransaction.d.ts +21 -0
- package/dist/node/provider/provider/confirmSubmittedTransaction.d.ts.map +1 -0
- package/dist/node/provider/provider/index.d.ts +1 -0
- package/dist/node/provider/provider/index.d.ts.map +1 -1
- package/dist/node/types/XyoGatewayRpc.d.ts +1 -1
- package/dist/node/types/XyoGatewayRpc.d.ts.map +1 -1
- package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
- package/dist/node/types/schema/common/JsonSchema.d.ts +7 -0
- package/dist/node/types/schema/common/JsonSchema.d.ts.map +1 -0
- package/dist/node/types/schema/common/index.d.ts +1 -0
- package/dist/node/types/schema/common/index.d.ts.map +1 -1
- package/package.json +36 -35
- package/src/provider/client/MemoryXyoClient.ts +7 -6
- package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +12 -0
- package/src/provider/client/index.ts +1 -1
- package/src/provider/client/spec/MemoryXyoClient.spec.ts +13 -10
- package/src/provider/host/Abstract.ts +28 -7
- package/src/provider/host/MemoryXyoGateway.ts +8 -70
- package/src/provider/host/index.ts +0 -2
- package/src/provider/host/spec/MemoryXyoGateway.spec.ts +9 -50
- package/src/provider/index.ts +1 -0
- package/src/provider/provider/RpcXyoConnection.ts +0 -11
- package/src/provider/provider/confirmSubmittedTransaction.ts +55 -0
- package/src/provider/provider/index.ts +1 -0
- package/src/types/XyoGatewayRpc.ts +1 -1
- package/src/types/schema/XyoGatewayRpcSchemas.ts +2 -0
- package/src/types/schema/common/JsonSchema.ts +19 -0
- package/src/types/schema/common/index.ts +1 -0
- package/dist/neutral/provider/client/XyoClient.d.ts +0 -6
- package/dist/neutral/provider/client/XyoClient.d.ts.map +0 -1
- package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts +0 -16
- package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts.map +0 -1
- package/dist/neutral/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
- package/dist/neutral/provider/host/PermissionsStore/PermissionsStore.d.ts.map +0 -1
- package/dist/neutral/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
- package/dist/neutral/provider/host/PermissionsStore/index.d.ts.map +0 -1
- package/dist/neutral/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
- package/dist/node/provider/client/XyoClient.d.ts +0 -6
- package/dist/node/provider/client/XyoClient.d.ts.map +0 -1
- package/dist/node/provider/host/JsonRpcXyoGateway.d.ts +0 -16
- package/dist/node/provider/host/JsonRpcXyoGateway.d.ts.map +0 -1
- package/dist/node/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
- package/dist/node/provider/host/PermissionsStore/PermissionsStore.d.ts.map +0 -1
- package/dist/node/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
- package/dist/node/provider/host/PermissionsStore/index.d.ts.map +0 -1
- package/dist/node/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
- package/src/provider/client/XyoClient.ts +0 -6
- package/src/provider/host/JsonRpcXyoGateway.ts +0 -41
- package/src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts +0 -13
- /package/dist/neutral/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.d.ts +0 -0
- /package/dist/neutral/provider/{host → client}/PermissionsStore/PermissionsStore.d.ts +0 -0
- /package/dist/neutral/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -0
- /package/dist/neutral/provider/{host → client}/PermissionsStore/index.d.ts +0 -0
- /package/dist/neutral/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -0
- /package/dist/node/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.d.ts +0 -0
- /package/dist/node/provider/{host → client}/PermissionsStore/PermissionsStore.d.ts +0 -0
- /package/dist/node/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -0
- /package/dist/node/provider/{host → client}/PermissionsStore/index.d.ts +0 -0
- /package/dist/node/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -0
- /package/src/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.ts +0 -0
- /package/src/provider/{host → client}/PermissionsStore/PermissionsStore.ts +0 -0
- /package/src/provider/{host → client}/PermissionsStore/index.ts +0 -0
- /package/src/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.ts +0 -0
package/dist/neutral/index.mjs
CHANGED
|
@@ -59,57 +59,215 @@ var rpcMethodHandlersFromProvider = /* @__PURE__ */ __name((provider) => {
|
|
|
59
59
|
return result;
|
|
60
60
|
}, "rpcMethodHandlersFromProvider");
|
|
61
61
|
|
|
62
|
-
// src/provider/
|
|
63
|
-
|
|
64
|
-
var AbstractXyoGateway = class {
|
|
62
|
+
// src/provider/client/MemoryXyoClient.ts
|
|
63
|
+
var MemoryXyoClient = class {
|
|
65
64
|
static {
|
|
66
|
-
__name(this, "
|
|
65
|
+
__name(this, "MemoryXyoClient");
|
|
67
66
|
}
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
gateways;
|
|
68
|
+
permissionsProvider;
|
|
69
|
+
constructor(gateways, permissionsProvider) {
|
|
70
|
+
this.gateways = gateways;
|
|
71
|
+
this.permissionsProvider = permissionsProvider;
|
|
70
72
|
}
|
|
71
73
|
};
|
|
72
74
|
|
|
73
|
-
// src/provider/
|
|
74
|
-
var
|
|
75
|
+
// src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts
|
|
76
|
+
var getPermissionsStoreFromTransport = /* @__PURE__ */ __name((transport) => {
|
|
77
|
+
throw new Error("Not implemented");
|
|
78
|
+
}, "getPermissionsStoreFromTransport");
|
|
79
|
+
|
|
80
|
+
// src/provider/client/PermissionsStore/MemoryPermissionsStore.ts
|
|
81
|
+
var MemoryPermissionsStore = class {
|
|
75
82
|
static {
|
|
76
|
-
__name(this, "
|
|
83
|
+
__name(this, "MemoryPermissionsStore");
|
|
77
84
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
85
|
+
_store = /* @__PURE__ */ new Map();
|
|
86
|
+
getPermissions() {
|
|
87
|
+
return [
|
|
88
|
+
...this._store.values()
|
|
89
|
+
];
|
|
90
|
+
}
|
|
91
|
+
requestPermissions(permissions) {
|
|
92
|
+
const now = Date.now();
|
|
93
|
+
for (const perm of permissions) {
|
|
94
|
+
const key = this.getKey(perm);
|
|
95
|
+
this._store.set(key, {
|
|
96
|
+
...perm,
|
|
97
|
+
date: now
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
revokePermissions(permissions) {
|
|
103
|
+
for (const perm of permissions) {
|
|
104
|
+
const key = this.getKey(perm);
|
|
105
|
+
this._store.delete(key);
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
getKey(permission) {
|
|
110
|
+
return `${permission.invoker}::${permission.capability}`;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
// src/provider/host/Abstract.ts
|
|
115
|
+
import { assertEx } from "@xylabs/assert";
|
|
116
|
+
var AbstractXyoGateway = class {
|
|
117
|
+
static {
|
|
118
|
+
__name(this, "AbstractXyoGateway");
|
|
82
119
|
}
|
|
83
120
|
activeConnection() {
|
|
84
|
-
throw new Error("
|
|
121
|
+
throw new Error("Deprecated method not implemented.");
|
|
85
122
|
}
|
|
86
|
-
addConnection(
|
|
87
|
-
throw new Error("
|
|
123
|
+
addConnection(config) {
|
|
124
|
+
throw new Error("Deprecated method not implemented.");
|
|
88
125
|
}
|
|
89
126
|
connections() {
|
|
90
|
-
throw new Error("
|
|
127
|
+
throw new Error("Deprecated method not implemented.");
|
|
91
128
|
}
|
|
92
129
|
getPermissions() {
|
|
93
|
-
|
|
130
|
+
throw new Error("Deprecated method not implemented.");
|
|
94
131
|
}
|
|
95
132
|
requestPermissions(permissions) {
|
|
96
|
-
|
|
133
|
+
throw new Error("Deprecated method not implemented.");
|
|
97
134
|
}
|
|
98
135
|
revokePermissions(permissions) {
|
|
99
|
-
|
|
136
|
+
throw new Error("Deprecated method not implemented.");
|
|
137
|
+
}
|
|
138
|
+
async submitTransaction(elevatedPayloads, additionalPayloads) {
|
|
139
|
+
return assertEx(assertEx(await this.connection(), () => "No active connection available for transaction submission").submitTransaction, () => "Active connection does not support transaction submission")(elevatedPayloads, additionalPayloads);
|
|
100
140
|
}
|
|
101
141
|
};
|
|
102
142
|
|
|
103
143
|
// src/provider/host/MemoryXyoGateway.ts
|
|
104
|
-
|
|
144
|
+
var MemoryXyoGateway = class extends AbstractXyoGateway {
|
|
145
|
+
static {
|
|
146
|
+
__name(this, "MemoryXyoGateway");
|
|
147
|
+
}
|
|
148
|
+
_connection;
|
|
149
|
+
_signer;
|
|
150
|
+
constructor(signer, connection) {
|
|
151
|
+
super();
|
|
152
|
+
this._signer = signer;
|
|
153
|
+
this._connection = connection;
|
|
154
|
+
}
|
|
155
|
+
connection() {
|
|
156
|
+
return this._connection;
|
|
157
|
+
}
|
|
158
|
+
signer() {
|
|
159
|
+
return this._signer;
|
|
160
|
+
}
|
|
161
|
+
};
|
|
105
162
|
|
|
106
|
-
// src/provider/
|
|
163
|
+
// src/provider/network/MemoryXyoNetwork.ts
|
|
164
|
+
import { isUndefined } from "@xylabs/typeof";
|
|
165
|
+
import { isNetworkStatus } from "@xyo-network/xl1-protocol";
|
|
166
|
+
import axios from "axios";
|
|
167
|
+
|
|
168
|
+
// src/provider/network/lib/FailedNetworkStatusPayloads.ts
|
|
169
|
+
import { NetworkStatusSchema } from "@xyo-network/xl1-protocol";
|
|
170
|
+
var unknownStatus = {
|
|
171
|
+
description: "Unknown Network Status",
|
|
172
|
+
schema: NetworkStatusSchema,
|
|
173
|
+
state: "unknown"
|
|
174
|
+
};
|
|
175
|
+
var errorStatus = {
|
|
176
|
+
description: "Error Fetching Network Status",
|
|
177
|
+
schema: NetworkStatusSchema,
|
|
178
|
+
state: "unknown"
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
// src/provider/network/lib/StatusNetworks.ts
|
|
182
|
+
var MainNetworkStats = {
|
|
183
|
+
id: "mainnet",
|
|
184
|
+
statusUrl: "https://xyo.network/chain-network-status-mainnet.json"
|
|
185
|
+
};
|
|
186
|
+
var SequenceNetworkStats = {
|
|
187
|
+
id: "sequence",
|
|
188
|
+
statusUrl: "https://beta.xyo.network/chain-network-status-sequence.json"
|
|
189
|
+
};
|
|
190
|
+
var LocalNetworkStats = {
|
|
191
|
+
id: "local",
|
|
192
|
+
statusUrl: "http://localhost:3002/chain-network-status-local.json"
|
|
193
|
+
};
|
|
194
|
+
var StatusNetworks = {
|
|
195
|
+
mainnet: MainNetworkStats,
|
|
196
|
+
sequence: SequenceNetworkStats,
|
|
197
|
+
local: LocalNetworkStats
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
// src/provider/network/MemoryXyoNetwork.ts
|
|
201
|
+
var MemoryXyoNetwork = class {
|
|
202
|
+
static {
|
|
203
|
+
__name(this, "MemoryXyoNetwork");
|
|
204
|
+
}
|
|
205
|
+
_networkId;
|
|
206
|
+
constructor(networkId) {
|
|
207
|
+
this._networkId = networkId;
|
|
208
|
+
}
|
|
209
|
+
async status() {
|
|
210
|
+
const statusNetwork = StatusNetworks[this._networkId];
|
|
211
|
+
if (isUndefined(statusNetwork)) {
|
|
212
|
+
throw new Error(`Unknown status network ID: ${this._networkId}`);
|
|
213
|
+
}
|
|
214
|
+
return await this.makeRequest(statusNetwork.statusUrl);
|
|
215
|
+
}
|
|
216
|
+
async makeRequest(url) {
|
|
217
|
+
try {
|
|
218
|
+
const response = await axios.get(url);
|
|
219
|
+
if (isNetworkStatus(response.data)) {
|
|
220
|
+
return response.data;
|
|
221
|
+
} else {
|
|
222
|
+
if (response.status === 200) {
|
|
223
|
+
console.error("Unknown network status response:", response.data);
|
|
224
|
+
return unknownStatus;
|
|
225
|
+
}
|
|
226
|
+
return errorStatus;
|
|
227
|
+
}
|
|
228
|
+
} catch (error) {
|
|
229
|
+
console.error("Error fetching network status:", error);
|
|
230
|
+
return errorStatus;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
// src/provider/provider/confirmSubmittedTransaction.ts
|
|
107
236
|
import { delay } from "@xylabs/delay";
|
|
237
|
+
import { isDefined } from "@xylabs/typeof";
|
|
108
238
|
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
239
|
+
var DEFAULT_CONFIRMATION_ATTEMPTS = 20;
|
|
240
|
+
var DEFAULT_DELAY_BETWEEN_ATTEMPTS = 1e3;
|
|
241
|
+
var confirmSubmittedTransaction = /* @__PURE__ */ __name(async (provider, txBW, options) => {
|
|
242
|
+
const { attempts: maxAttempts = DEFAULT_CONFIRMATION_ATTEMPTS, delay: attemptDelay = DEFAULT_DELAY_BETWEEN_ATTEMPTS } = options || {};
|
|
243
|
+
const txBWHash = await PayloadBuilder.hash(txBW);
|
|
244
|
+
options?.logger?.log("\u2705 confirming transaction:", txBWHash, "\n");
|
|
245
|
+
let attempts = 0;
|
|
246
|
+
while (true) {
|
|
247
|
+
const tx = await provider.viewer?.transactionByHash(txBWHash) ?? void 0;
|
|
248
|
+
if (isDefined(tx)) {
|
|
249
|
+
options?.logger?.log("\u{1F37B} Transaction confirmed:", txBWHash, "\n");
|
|
250
|
+
return tx;
|
|
251
|
+
} else {
|
|
252
|
+
attempts++;
|
|
253
|
+
if (attempts > maxAttempts) {
|
|
254
|
+
options?.logger?.error(`\u26A0\uFE0F Transaction not confirmed after ${maxAttempts} attempts`);
|
|
255
|
+
throw new Error(`Transaction ${txBWHash} not confirmed after ${maxAttempts} attempts`);
|
|
256
|
+
} else {
|
|
257
|
+
options?.logger?.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
|
|
258
|
+
await delay(attemptDelay);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}, "confirmSubmittedTransaction");
|
|
263
|
+
|
|
264
|
+
// src/provider/provider/confirmTransaction.ts
|
|
265
|
+
import { delay as delay2 } from "@xylabs/delay";
|
|
266
|
+
import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
|
|
109
267
|
var CONFIRMATION_ATTEMPTS = 20;
|
|
110
268
|
var DELAY_BETWEEN_ATTEMPTS = 1e3;
|
|
111
269
|
var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm, onTimeout) => {
|
|
112
|
-
const txBWHash = await
|
|
270
|
+
const txBWHash = await PayloadBuilder2.hash(txBW);
|
|
113
271
|
console.log("\u2705 confirming transaction:", txBWHash, "\n");
|
|
114
272
|
let confirmed = false;
|
|
115
273
|
let attempts = 0;
|
|
@@ -127,7 +285,7 @@ var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm
|
|
|
127
285
|
return;
|
|
128
286
|
} else {
|
|
129
287
|
console.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
|
|
130
|
-
await
|
|
288
|
+
await delay2(DELAY_BETWEEN_ATTEMPTS);
|
|
131
289
|
}
|
|
132
290
|
}
|
|
133
291
|
}
|
|
@@ -718,74 +876,68 @@ var InvokerPermissionSchema = PermissionSchema.extend({
|
|
|
718
876
|
date: z20.number().optional()
|
|
719
877
|
});
|
|
720
878
|
var XyoGatewayRpcSchemas = {
|
|
879
|
+
/*
|
|
721
880
|
xyoGateway_addConnection: {
|
|
722
881
|
params: {
|
|
723
|
-
to:
|
|
724
|
-
|
|
725
|
-
]),
|
|
726
|
-
from: z20.tuple([
|
|
727
|
-
ChainConnectionSchema
|
|
728
|
-
])
|
|
882
|
+
to: z.tuple([ChainConnectionSchema]),
|
|
883
|
+
from: z.tuple([ChainConnectionSchema]),
|
|
729
884
|
},
|
|
730
885
|
result: {
|
|
731
|
-
to:
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
from: z20.tuple([
|
|
735
|
-
z20.boolean()
|
|
736
|
-
])
|
|
737
|
-
}
|
|
886
|
+
to: z.tuple([z.boolean()]),
|
|
887
|
+
from: z.tuple([z.boolean()]),
|
|
888
|
+
},
|
|
738
889
|
},
|
|
739
890
|
xyoGateway_connections: {
|
|
740
891
|
params: {
|
|
741
|
-
to:
|
|
742
|
-
from:
|
|
892
|
+
to: z.array(z.any()).length(0).optional(),
|
|
893
|
+
from: z.array(z.any()).length(0).optional(),
|
|
743
894
|
},
|
|
744
895
|
result: {
|
|
745
|
-
to:
|
|
746
|
-
from:
|
|
747
|
-
}
|
|
896
|
+
to: z.array(ChainConnectionSchema),
|
|
897
|
+
from: z.array(ChainConnectionSchema),
|
|
898
|
+
},
|
|
748
899
|
},
|
|
749
900
|
xyoGateway_getPermissions: {
|
|
750
901
|
params: {
|
|
751
|
-
to:
|
|
752
|
-
from:
|
|
902
|
+
to: z.array(z.any()).length(0).optional(),
|
|
903
|
+
from: z.array(z.any()).length(0).optional(),
|
|
753
904
|
},
|
|
754
905
|
result: {
|
|
755
|
-
to:
|
|
756
|
-
from:
|
|
757
|
-
}
|
|
906
|
+
to: z.array(InvokerPermissionSchema),
|
|
907
|
+
from: z.array(InvokerPermissionSchema),
|
|
908
|
+
},
|
|
758
909
|
},
|
|
759
910
|
xyoGateway_requestPermissions: {
|
|
760
911
|
params: {
|
|
761
|
-
to:
|
|
762
|
-
from:
|
|
912
|
+
to: z.array(PermissionSchema),
|
|
913
|
+
from: z.array(PermissionSchema),
|
|
763
914
|
},
|
|
764
915
|
result: {
|
|
765
|
-
to:
|
|
766
|
-
from:
|
|
767
|
-
}
|
|
916
|
+
to: z.boolean(),
|
|
917
|
+
from: z.boolean(),
|
|
918
|
+
},
|
|
768
919
|
},
|
|
769
920
|
xyoGateway_revokePermissions: {
|
|
770
921
|
params: {
|
|
771
|
-
to:
|
|
772
|
-
from:
|
|
922
|
+
to: z.array(PermissionSchema),
|
|
923
|
+
from: z.array(PermissionSchema),
|
|
773
924
|
},
|
|
774
925
|
result: {
|
|
775
|
-
to:
|
|
776
|
-
from:
|
|
777
|
-
}
|
|
926
|
+
to: z.boolean(),
|
|
927
|
+
from: z.boolean(),
|
|
928
|
+
},
|
|
778
929
|
},
|
|
779
930
|
xyoGateway_activeConnection: {
|
|
780
931
|
params: {
|
|
781
|
-
from:
|
|
782
|
-
to:
|
|
932
|
+
from: z.never(),
|
|
933
|
+
to: z.never(),
|
|
783
934
|
},
|
|
784
935
|
result: {
|
|
785
|
-
from:
|
|
786
|
-
to:
|
|
787
|
-
}
|
|
936
|
+
from: z.string().optional(),
|
|
937
|
+
to: z.string().optional(),
|
|
938
|
+
},
|
|
788
939
|
},
|
|
940
|
+
*/
|
|
789
941
|
xyoGateway_submitTransaction: {
|
|
790
942
|
params: {
|
|
791
943
|
from: z20.array(HydratedTransactionSchema),
|
|
@@ -883,7 +1035,7 @@ var MemoryRpcTransport = class {
|
|
|
883
1035
|
};
|
|
884
1036
|
|
|
885
1037
|
// src/transport/post-message/PostMessageRpcTransport.ts
|
|
886
|
-
import { isDefined } from "@xylabs/typeof";
|
|
1038
|
+
import { isDefined as isDefined2 } from "@xylabs/typeof";
|
|
887
1039
|
import { v4 as v43 } from "uuid";
|
|
888
1040
|
|
|
889
1041
|
// src/transport/post-message/helpers.ts
|
|
@@ -922,7 +1074,7 @@ var PostMessageRpcTransport = class {
|
|
|
922
1074
|
id,
|
|
923
1075
|
method
|
|
924
1076
|
};
|
|
925
|
-
body.params =
|
|
1077
|
+
body.params = isDefined2(params) && isDefined2(schemas[method]) ? schemas[method].params.to.parse(params) : params;
|
|
926
1078
|
return await new Promise((resolve, reject) => {
|
|
927
1079
|
const id2 = body.id;
|
|
928
1080
|
const handler = /* @__PURE__ */ __name((event) => {
|
|
@@ -959,7 +1111,7 @@ var JsonRpcXyoRunner = class {
|
|
|
959
1111
|
|
|
960
1112
|
// src/provider/runner/MemoryXyoRunner.ts
|
|
961
1113
|
import { MemoryArchivist } from "@xyo-network/archivist-memory";
|
|
962
|
-
import { PayloadBuilder as
|
|
1114
|
+
import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
|
|
963
1115
|
import { flattenHydratedTransaction } from "@xyo-network/xl1-protocol-sdk";
|
|
964
1116
|
var MemoryXyoRunner = class {
|
|
965
1117
|
static {
|
|
@@ -969,7 +1121,7 @@ var MemoryXyoRunner = class {
|
|
|
969
1121
|
async broadcastTransaction(transaction) {
|
|
970
1122
|
const archivist = await this.getArchivist();
|
|
971
1123
|
await archivist.insert(flattenHydratedTransaction(transaction));
|
|
972
|
-
return await
|
|
1124
|
+
return await PayloadBuilder3.hash(transaction[0]);
|
|
973
1125
|
}
|
|
974
1126
|
async getArchivist() {
|
|
975
1127
|
if (!this._archivist) {
|
|
@@ -984,7 +1136,7 @@ var MemoryXyoRunner = class {
|
|
|
984
1136
|
// src/provider/runner/NodeXyoRunner.ts
|
|
985
1137
|
import { assertEx as assertEx2 } from "@xylabs/assert";
|
|
986
1138
|
import { asArchivistInstance } from "@xyo-network/archivist-model";
|
|
987
|
-
import { PayloadBuilder as
|
|
1139
|
+
import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
|
|
988
1140
|
import { PayloadBundleSchema } from "@xyo-network/payload-model";
|
|
989
1141
|
import { flattenHydratedTransaction as flattenHydratedTransaction2 } from "@xyo-network/xl1-protocol-sdk";
|
|
990
1142
|
var NodeXyoRunner = class {
|
|
@@ -1001,7 +1153,7 @@ var NodeXyoRunner = class {
|
|
|
1001
1153
|
async broadcastTransaction(transaction) {
|
|
1002
1154
|
const flattened = flattenHydratedTransaction2(transaction);
|
|
1003
1155
|
const pendingArchivist = await this.getPendingArchivist();
|
|
1004
|
-
const txHash = await
|
|
1156
|
+
const txHash = await PayloadBuilder4.hash(transaction[0]);
|
|
1005
1157
|
const payloadBundle = {
|
|
1006
1158
|
schema: PayloadBundleSchema,
|
|
1007
1159
|
payloads: flattened,
|
|
@@ -1147,7 +1299,7 @@ var JsonRpcXyoViewer = class {
|
|
|
1147
1299
|
|
|
1148
1300
|
// src/provider/provider/XyoConnection.ts
|
|
1149
1301
|
import { assertEx as assertEx3 } from "@xylabs/assert";
|
|
1150
|
-
import { PayloadBuilder as
|
|
1302
|
+
import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
|
|
1151
1303
|
import { isAnyPayload } from "@xyo-network/payload-model";
|
|
1152
1304
|
import { defaultTransactionFees, isDataLakeProvider } from "@xyo-network/xl1-protocol";
|
|
1153
1305
|
import { HydratedTransactionWrapper } from "@xyo-network/xl1-wrappers";
|
|
@@ -1206,8 +1358,8 @@ var XyoConnection = class {
|
|
|
1206
1358
|
if (fromResolved === void 0) throw new Error("Failed to determine from address");
|
|
1207
1359
|
const signedTransaction = assertEx3(await signer.createSignedTransaction(chainResolved, elevatedPayloads, additionalPayloads, nbfResolved, expResolved, feesResolved, fromResolved), () => "Failed to create transaction");
|
|
1208
1360
|
const hydratedTransaction = [
|
|
1209
|
-
await
|
|
1210
|
-
await
|
|
1361
|
+
await PayloadBuilder5.addStorageMeta(signedTransaction),
|
|
1362
|
+
await PayloadBuilder5.addStorageMeta(elevatedPayloads)
|
|
1211
1363
|
];
|
|
1212
1364
|
if (isDataLakeProvider(storage)) {
|
|
1213
1365
|
const wrapper = await HydratedTransactionWrapper.parse(hydratedTransaction);
|
|
@@ -1237,185 +1389,6 @@ var RpcXyoConnection = class extends XyoConnection {
|
|
|
1237
1389
|
viewer
|
|
1238
1390
|
});
|
|
1239
1391
|
}
|
|
1240
|
-
async confirm(tx, onConfirm, onTimeout) {
|
|
1241
|
-
return await confirmTransaction(this, tx, onConfirm, onTimeout);
|
|
1242
|
-
}
|
|
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
1392
|
};
|
|
1420
1393
|
export {
|
|
1421
1394
|
AbstractXyoGateway,
|
|
@@ -1426,12 +1399,12 @@ export {
|
|
|
1426
1399
|
HttpRpcTransport,
|
|
1427
1400
|
InvokerPermissionSchema,
|
|
1428
1401
|
JsonRpcErrorCodes,
|
|
1429
|
-
JsonRpcXyoGateway,
|
|
1430
1402
|
JsonRpcXyoRunner,
|
|
1431
1403
|
JsonRpcXyoSigner,
|
|
1432
1404
|
JsonRpcXyoViewer,
|
|
1433
1405
|
MemoryPermissionsStore,
|
|
1434
1406
|
MemoryRpcTransport,
|
|
1407
|
+
MemoryXyoClient,
|
|
1435
1408
|
MemoryXyoGateway,
|
|
1436
1409
|
MemoryXyoNetwork,
|
|
1437
1410
|
MemoryXyoRunner,
|
|
@@ -1448,6 +1421,7 @@ export {
|
|
|
1448
1421
|
XyoSignerRpcSchemas,
|
|
1449
1422
|
XyoViewerRpcSchemas,
|
|
1450
1423
|
buildSessionMessageRequest,
|
|
1424
|
+
confirmSubmittedTransaction,
|
|
1451
1425
|
confirmTransaction,
|
|
1452
1426
|
createRequestSchema,
|
|
1453
1427
|
createResponseSchema,
|