@xyo-network/xl1-rpc 1.8.2 → 1.8.4
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 +15 -73
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/provider/host/Abstract.d.ts.map +1 -1
- package/dist/neutral/provider/provider/index.d.ts +0 -2
- package/dist/neutral/provider/provider/index.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/PostMessageRpcTransport.d.ts +1 -0
- package/dist/neutral/transport/post-message/PostMessageRpcTransport.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/SessionEnvelope.d.ts +1 -0
- package/dist/neutral/transport/post-message/SessionEnvelope.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/helpers.d.ts +3 -0
- package/dist/neutral/transport/post-message/helpers.d.ts.map +1 -1
- package/dist/node/index-node.mjs +15 -73
- package/dist/node/index-node.mjs.map +1 -1
- package/dist/node/provider/host/Abstract.d.ts.map +1 -1
- package/dist/node/provider/provider/index.d.ts +0 -2
- package/dist/node/provider/provider/index.d.ts.map +1 -1
- package/dist/node/transport/post-message/PostMessageRpcTransport.d.ts +1 -0
- package/dist/node/transport/post-message/PostMessageRpcTransport.d.ts.map +1 -1
- package/dist/node/transport/post-message/SessionEnvelope.d.ts +1 -0
- package/dist/node/transport/post-message/SessionEnvelope.d.ts.map +1 -1
- package/dist/node/transport/post-message/helpers.d.ts +3 -0
- package/dist/node/transport/post-message/helpers.d.ts.map +1 -1
- package/package.json +13 -14
- package/src/provider/host/Abstract.ts +5 -14
- package/src/provider/host/spec/MemoryXyoGateway.spec.ts +13 -3
- package/src/provider/provider/index.ts +0 -2
- package/src/transport/post-message/PostMessageRpcTransport.ts +1 -0
- package/src/transport/post-message/SessionEnvelope.ts +1 -0
- package/src/transport/post-message/helpers.ts +3 -0
- package/dist/neutral/provider/provider/confirmSubmittedTransaction.d.ts +0 -21
- package/dist/neutral/provider/provider/confirmSubmittedTransaction.d.ts.map +0 -1
- package/dist/neutral/provider/provider/confirmTransaction.d.ts +0 -4
- package/dist/neutral/provider/provider/confirmTransaction.d.ts.map +0 -1
- package/dist/node/provider/provider/confirmSubmittedTransaction.d.ts +0 -21
- package/dist/node/provider/provider/confirmSubmittedTransaction.d.ts.map +0 -1
- package/dist/node/provider/provider/confirmTransaction.d.ts +0 -4
- package/dist/node/provider/provider/confirmTransaction.d.ts.map +0 -1
- package/src/provider/provider/confirmSubmittedTransaction.ts +0 -55
- package/src/provider/provider/confirmTransaction.ts +0 -37
package/dist/neutral/index.mjs
CHANGED
|
@@ -136,7 +136,10 @@ var AbstractXyoGateway = class {
|
|
|
136
136
|
throw new Error("Deprecated method not implemented.");
|
|
137
137
|
}
|
|
138
138
|
async submitTransaction(elevatedPayloads, additionalPayloads) {
|
|
139
|
-
|
|
139
|
+
const connection = await this.connection();
|
|
140
|
+
assertEx(connection.submitTransaction, () => "Active connection does not support transaction submission");
|
|
141
|
+
const tx = await connection.submitTransaction?.(elevatedPayloads, additionalPayloads);
|
|
142
|
+
return assertEx(tx, () => "Transaction submission failed");
|
|
140
143
|
}
|
|
141
144
|
};
|
|
142
145
|
|
|
@@ -232,67 +235,8 @@ var MemoryXyoNetwork = class {
|
|
|
232
235
|
}
|
|
233
236
|
};
|
|
234
237
|
|
|
235
|
-
// src/provider/provider/confirmSubmittedTransaction.ts
|
|
236
|
-
import { delay } from "@xylabs/delay";
|
|
237
|
-
import { isDefined } from "@xylabs/typeof";
|
|
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";
|
|
267
|
-
var CONFIRMATION_ATTEMPTS = 20;
|
|
268
|
-
var DELAY_BETWEEN_ATTEMPTS = 1e3;
|
|
269
|
-
var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm, onTimeout) => {
|
|
270
|
-
const txBWHash = await PayloadBuilder2.hash(txBW);
|
|
271
|
-
console.log("\u2705 confirming transaction:", txBWHash, "\n");
|
|
272
|
-
let confirmed = false;
|
|
273
|
-
let attempts = 0;
|
|
274
|
-
while (!confirmed) {
|
|
275
|
-
const tx = await provider.viewer?.transactionByHash(txBWHash);
|
|
276
|
-
if (tx) {
|
|
277
|
-
confirmed = true;
|
|
278
|
-
console.log("\u{1F37B} Transaction confirmed:", txBWHash, "\n");
|
|
279
|
-
onConfirm?.(txBWHash);
|
|
280
|
-
} else {
|
|
281
|
-
attempts++;
|
|
282
|
-
if (attempts > CONFIRMATION_ATTEMPTS) {
|
|
283
|
-
console.error(`\u26A0\uFE0F Transaction not confirmed after ${CONFIRMATION_ATTEMPTS} attempts`);
|
|
284
|
-
onTimeout?.();
|
|
285
|
-
return;
|
|
286
|
-
} else {
|
|
287
|
-
console.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
|
|
288
|
-
await delay2(DELAY_BETWEEN_ATTEMPTS);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
}, "confirmTransaction");
|
|
293
|
-
|
|
294
238
|
// src/provider/provider/HttpRpcXyoConnection.ts
|
|
295
|
-
import { isDefined as
|
|
239
|
+
import { isDefined as isDefined2 } from "@xylabs/typeof";
|
|
296
240
|
|
|
297
241
|
// src/transport/HttpRpcTransport.ts
|
|
298
242
|
import { AxiosJson } from "@xylabs/axios";
|
|
@@ -1040,7 +984,7 @@ var MemoryRpcTransport = class {
|
|
|
1040
984
|
};
|
|
1041
985
|
|
|
1042
986
|
// src/transport/post-message/PostMessageRpcTransport.ts
|
|
1043
|
-
import { isDefined
|
|
987
|
+
import { isDefined } from "@xylabs/typeof";
|
|
1044
988
|
import { v4 as v43 } from "uuid";
|
|
1045
989
|
|
|
1046
990
|
// src/transport/post-message/helpers.ts
|
|
@@ -1079,7 +1023,7 @@ var PostMessageRpcTransport = class {
|
|
|
1079
1023
|
id,
|
|
1080
1024
|
method
|
|
1081
1025
|
};
|
|
1082
|
-
body.params =
|
|
1026
|
+
body.params = isDefined(params) && isDefined(schemas[method]) ? schemas[method].params.to.parse(params) : params;
|
|
1083
1027
|
return await new Promise((resolve, reject) => {
|
|
1084
1028
|
const id2 = body.id;
|
|
1085
1029
|
const handler = /* @__PURE__ */ __name((event) => {
|
|
@@ -1116,7 +1060,7 @@ var JsonRpcXyoRunner = class {
|
|
|
1116
1060
|
|
|
1117
1061
|
// src/provider/runner/MemoryXyoRunner.ts
|
|
1118
1062
|
import { MemoryArchivist } from "@xyo-network/archivist-memory";
|
|
1119
|
-
import { PayloadBuilder
|
|
1063
|
+
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
1120
1064
|
import { flattenHydratedTransaction } from "@xyo-network/xl1-protocol-sdk";
|
|
1121
1065
|
var MemoryXyoRunner = class {
|
|
1122
1066
|
static {
|
|
@@ -1126,7 +1070,7 @@ var MemoryXyoRunner = class {
|
|
|
1126
1070
|
async broadcastTransaction(transaction) {
|
|
1127
1071
|
const archivist = await this.getArchivist();
|
|
1128
1072
|
await archivist.insert(flattenHydratedTransaction(transaction));
|
|
1129
|
-
return await
|
|
1073
|
+
return await PayloadBuilder.hash(transaction[0]);
|
|
1130
1074
|
}
|
|
1131
1075
|
async getArchivist() {
|
|
1132
1076
|
if (!this._archivist) {
|
|
@@ -1141,7 +1085,7 @@ var MemoryXyoRunner = class {
|
|
|
1141
1085
|
// src/provider/runner/NodeXyoRunner.ts
|
|
1142
1086
|
import { assertEx as assertEx2 } from "@xylabs/assert";
|
|
1143
1087
|
import { asArchivistInstance } from "@xyo-network/archivist-model";
|
|
1144
|
-
import { PayloadBuilder as
|
|
1088
|
+
import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
|
|
1145
1089
|
import { PayloadBundleSchema } from "@xyo-network/payload-model";
|
|
1146
1090
|
import { flattenHydratedTransaction as flattenHydratedTransaction2 } from "@xyo-network/xl1-protocol-sdk";
|
|
1147
1091
|
var NodeXyoRunner = class {
|
|
@@ -1158,7 +1102,7 @@ var NodeXyoRunner = class {
|
|
|
1158
1102
|
async broadcastTransaction(transaction) {
|
|
1159
1103
|
const flattened = flattenHydratedTransaction2(transaction);
|
|
1160
1104
|
const pendingArchivist = await this.getPendingArchivist();
|
|
1161
|
-
const txHash = await
|
|
1105
|
+
const txHash = await PayloadBuilder2.hash(transaction[0]);
|
|
1162
1106
|
const payloadBundle = {
|
|
1163
1107
|
schema: PayloadBundleSchema,
|
|
1164
1108
|
payloads: flattened,
|
|
@@ -1304,7 +1248,7 @@ var JsonRpcXyoViewer = class {
|
|
|
1304
1248
|
|
|
1305
1249
|
// src/provider/provider/XyoConnection.ts
|
|
1306
1250
|
import { assertEx as assertEx3 } from "@xylabs/assert";
|
|
1307
|
-
import { PayloadBuilder as
|
|
1251
|
+
import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
|
|
1308
1252
|
import { isAnyPayload } from "@xyo-network/payload-model";
|
|
1309
1253
|
import { defaultTransactionFees, isDataLakeProvider } from "@xyo-network/xl1-protocol";
|
|
1310
1254
|
import { HydratedTransactionWrapper } from "@xyo-network/xl1-wrappers";
|
|
@@ -1363,8 +1307,8 @@ var XyoConnection = class {
|
|
|
1363
1307
|
if (fromResolved === void 0) throw new Error("Failed to determine from address");
|
|
1364
1308
|
const signedTransaction = assertEx3(await signer.createSignedTransaction(chainResolved, elevatedPayloads, additionalPayloads, nbfResolved, expResolved, feesResolved, fromResolved), () => "Failed to create transaction");
|
|
1365
1309
|
const hydratedTransaction = [
|
|
1366
|
-
await
|
|
1367
|
-
await
|
|
1310
|
+
await PayloadBuilder3.addStorageMeta(signedTransaction),
|
|
1311
|
+
await PayloadBuilder3.addStorageMeta(elevatedPayloads)
|
|
1368
1312
|
];
|
|
1369
1313
|
if (isDataLakeProvider(storage)) {
|
|
1370
1314
|
const wrapper = await HydratedTransactionWrapper.parse(hydratedTransaction);
|
|
@@ -1382,7 +1326,7 @@ var HttpRpcXyoConnection = class extends XyoConnection {
|
|
|
1382
1326
|
}
|
|
1383
1327
|
constructor(params) {
|
|
1384
1328
|
const { account, endpoint } = params;
|
|
1385
|
-
const signer =
|
|
1329
|
+
const signer = isDefined2(account) ? new MemoryXyoSigner(account) : void 0;
|
|
1386
1330
|
const transport = new HttpRpcTransport(endpoint, {
|
|
1387
1331
|
...XyoRunnerRpcSchemas,
|
|
1388
1332
|
...XyoViewerRpcSchemas
|
|
@@ -1433,8 +1377,6 @@ export {
|
|
|
1433
1377
|
XyoSignerRpcSchemas,
|
|
1434
1378
|
XyoViewerRpcSchemas,
|
|
1435
1379
|
buildSessionMessageRequest,
|
|
1436
|
-
confirmSubmittedTransaction,
|
|
1437
|
-
confirmTransaction,
|
|
1438
1380
|
createRequestSchema,
|
|
1439
1381
|
createResponseSchema,
|
|
1440
1382
|
getPermissionsStoreFromTransport,
|