@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/node/index-node.mjs
CHANGED
|
@@ -832,7 +832,10 @@ var AbstractXyoGateway = class {
|
|
|
832
832
|
throw new Error("Deprecated method not implemented.");
|
|
833
833
|
}
|
|
834
834
|
async submitTransaction(elevatedPayloads, additionalPayloads) {
|
|
835
|
-
|
|
835
|
+
const connection = await this.connection();
|
|
836
|
+
assertEx(connection.submitTransaction, () => "Active connection does not support transaction submission");
|
|
837
|
+
const tx = await connection.submitTransaction?.(elevatedPayloads, additionalPayloads);
|
|
838
|
+
return assertEx(tx, () => "Transaction submission failed");
|
|
836
839
|
}
|
|
837
840
|
};
|
|
838
841
|
|
|
@@ -928,67 +931,8 @@ var MemoryXyoNetwork = class {
|
|
|
928
931
|
}
|
|
929
932
|
};
|
|
930
933
|
|
|
931
|
-
// src/provider/provider/confirmSubmittedTransaction.ts
|
|
932
|
-
import { delay } from "@xylabs/delay";
|
|
933
|
-
import { isDefined } from "@xylabs/typeof";
|
|
934
|
-
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
935
|
-
var DEFAULT_CONFIRMATION_ATTEMPTS = 20;
|
|
936
|
-
var DEFAULT_DELAY_BETWEEN_ATTEMPTS = 1e3;
|
|
937
|
-
var confirmSubmittedTransaction = /* @__PURE__ */ __name(async (provider, txBW, options) => {
|
|
938
|
-
const { attempts: maxAttempts = DEFAULT_CONFIRMATION_ATTEMPTS, delay: attemptDelay = DEFAULT_DELAY_BETWEEN_ATTEMPTS } = options || {};
|
|
939
|
-
const txBWHash = await PayloadBuilder.hash(txBW);
|
|
940
|
-
options?.logger?.log("\u2705 confirming transaction:", txBWHash, "\n");
|
|
941
|
-
let attempts = 0;
|
|
942
|
-
while (true) {
|
|
943
|
-
const tx = await provider.viewer?.transactionByHash(txBWHash) ?? void 0;
|
|
944
|
-
if (isDefined(tx)) {
|
|
945
|
-
options?.logger?.log("\u{1F37B} Transaction confirmed:", txBWHash, "\n");
|
|
946
|
-
return tx;
|
|
947
|
-
} else {
|
|
948
|
-
attempts++;
|
|
949
|
-
if (attempts > maxAttempts) {
|
|
950
|
-
options?.logger?.error(`\u26A0\uFE0F Transaction not confirmed after ${maxAttempts} attempts`);
|
|
951
|
-
throw new Error(`Transaction ${txBWHash} not confirmed after ${maxAttempts} attempts`);
|
|
952
|
-
} else {
|
|
953
|
-
options?.logger?.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
|
|
954
|
-
await delay(attemptDelay);
|
|
955
|
-
}
|
|
956
|
-
}
|
|
957
|
-
}
|
|
958
|
-
}, "confirmSubmittedTransaction");
|
|
959
|
-
|
|
960
|
-
// src/provider/provider/confirmTransaction.ts
|
|
961
|
-
import { delay as delay2 } from "@xylabs/delay";
|
|
962
|
-
import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
|
|
963
|
-
var CONFIRMATION_ATTEMPTS = 20;
|
|
964
|
-
var DELAY_BETWEEN_ATTEMPTS = 1e3;
|
|
965
|
-
var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm, onTimeout) => {
|
|
966
|
-
const txBWHash = await PayloadBuilder2.hash(txBW);
|
|
967
|
-
console.log("\u2705 confirming transaction:", txBWHash, "\n");
|
|
968
|
-
let confirmed = false;
|
|
969
|
-
let attempts = 0;
|
|
970
|
-
while (!confirmed) {
|
|
971
|
-
const tx = await provider.viewer?.transactionByHash(txBWHash);
|
|
972
|
-
if (tx) {
|
|
973
|
-
confirmed = true;
|
|
974
|
-
console.log("\u{1F37B} Transaction confirmed:", txBWHash, "\n");
|
|
975
|
-
onConfirm?.(txBWHash);
|
|
976
|
-
} else {
|
|
977
|
-
attempts++;
|
|
978
|
-
if (attempts > CONFIRMATION_ATTEMPTS) {
|
|
979
|
-
console.error(`\u26A0\uFE0F Transaction not confirmed after ${CONFIRMATION_ATTEMPTS} attempts`);
|
|
980
|
-
onTimeout?.();
|
|
981
|
-
return;
|
|
982
|
-
} else {
|
|
983
|
-
console.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
|
|
984
|
-
await delay2(DELAY_BETWEEN_ATTEMPTS);
|
|
985
|
-
}
|
|
986
|
-
}
|
|
987
|
-
}
|
|
988
|
-
}, "confirmTransaction");
|
|
989
|
-
|
|
990
934
|
// src/provider/provider/HttpRpcXyoConnection.ts
|
|
991
|
-
import { isDefined as
|
|
935
|
+
import { isDefined as isDefined2 } from "@xylabs/typeof";
|
|
992
936
|
|
|
993
937
|
// src/transport/HttpRpcTransport.ts
|
|
994
938
|
import { AxiosJson } from "@xylabs/axios";
|
|
@@ -1075,7 +1019,7 @@ var MemoryRpcTransport = class {
|
|
|
1075
1019
|
};
|
|
1076
1020
|
|
|
1077
1021
|
// src/transport/post-message/PostMessageRpcTransport.ts
|
|
1078
|
-
import { isDefined
|
|
1022
|
+
import { isDefined } from "@xylabs/typeof";
|
|
1079
1023
|
import { v4 as v43 } from "uuid";
|
|
1080
1024
|
|
|
1081
1025
|
// src/transport/post-message/helpers.ts
|
|
@@ -1114,7 +1058,7 @@ var PostMessageRpcTransport = class {
|
|
|
1114
1058
|
id,
|
|
1115
1059
|
method
|
|
1116
1060
|
};
|
|
1117
|
-
body.params =
|
|
1061
|
+
body.params = isDefined(params) && isDefined(schemas[method]) ? schemas[method].params.to.parse(params) : params;
|
|
1118
1062
|
return await new Promise((resolve, reject) => {
|
|
1119
1063
|
const id2 = body.id;
|
|
1120
1064
|
const handler = /* @__PURE__ */ __name((event) => {
|
|
@@ -1151,7 +1095,7 @@ var JsonRpcXyoRunner = class {
|
|
|
1151
1095
|
|
|
1152
1096
|
// src/provider/runner/MemoryXyoRunner.ts
|
|
1153
1097
|
import { MemoryArchivist } from "@xyo-network/archivist-memory";
|
|
1154
|
-
import { PayloadBuilder
|
|
1098
|
+
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
1155
1099
|
import { flattenHydratedTransaction } from "@xyo-network/xl1-protocol-sdk";
|
|
1156
1100
|
var MemoryXyoRunner = class {
|
|
1157
1101
|
static {
|
|
@@ -1161,7 +1105,7 @@ var MemoryXyoRunner = class {
|
|
|
1161
1105
|
async broadcastTransaction(transaction) {
|
|
1162
1106
|
const archivist = await this.getArchivist();
|
|
1163
1107
|
await archivist.insert(flattenHydratedTransaction(transaction));
|
|
1164
|
-
return await
|
|
1108
|
+
return await PayloadBuilder.hash(transaction[0]);
|
|
1165
1109
|
}
|
|
1166
1110
|
async getArchivist() {
|
|
1167
1111
|
if (!this._archivist) {
|
|
@@ -1176,7 +1120,7 @@ var MemoryXyoRunner = class {
|
|
|
1176
1120
|
// src/provider/runner/NodeXyoRunner.ts
|
|
1177
1121
|
import { assertEx as assertEx2 } from "@xylabs/assert";
|
|
1178
1122
|
import { asArchivistInstance } from "@xyo-network/archivist-model";
|
|
1179
|
-
import { PayloadBuilder as
|
|
1123
|
+
import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
|
|
1180
1124
|
import { PayloadBundleSchema } from "@xyo-network/payload-model";
|
|
1181
1125
|
import { flattenHydratedTransaction as flattenHydratedTransaction2 } from "@xyo-network/xl1-protocol-sdk";
|
|
1182
1126
|
var NodeXyoRunner = class {
|
|
@@ -1193,7 +1137,7 @@ var NodeXyoRunner = class {
|
|
|
1193
1137
|
async broadcastTransaction(transaction) {
|
|
1194
1138
|
const flattened = flattenHydratedTransaction2(transaction);
|
|
1195
1139
|
const pendingArchivist = await this.getPendingArchivist();
|
|
1196
|
-
const txHash = await
|
|
1140
|
+
const txHash = await PayloadBuilder2.hash(transaction[0]);
|
|
1197
1141
|
const payloadBundle = {
|
|
1198
1142
|
schema: PayloadBundleSchema,
|
|
1199
1143
|
payloads: flattened,
|
|
@@ -1339,7 +1283,7 @@ var JsonRpcXyoViewer = class {
|
|
|
1339
1283
|
|
|
1340
1284
|
// src/provider/provider/XyoConnection.ts
|
|
1341
1285
|
import { assertEx as assertEx3 } from "@xylabs/assert";
|
|
1342
|
-
import { PayloadBuilder as
|
|
1286
|
+
import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
|
|
1343
1287
|
import { isAnyPayload } from "@xyo-network/payload-model";
|
|
1344
1288
|
import { defaultTransactionFees, isDataLakeProvider } from "@xyo-network/xl1-protocol";
|
|
1345
1289
|
import { HydratedTransactionWrapper } from "@xyo-network/xl1-wrappers";
|
|
@@ -1398,8 +1342,8 @@ var XyoConnection = class {
|
|
|
1398
1342
|
if (fromResolved === void 0) throw new Error("Failed to determine from address");
|
|
1399
1343
|
const signedTransaction = assertEx3(await signer.createSignedTransaction(chainResolved, elevatedPayloads, additionalPayloads, nbfResolved, expResolved, feesResolved, fromResolved), () => "Failed to create transaction");
|
|
1400
1344
|
const hydratedTransaction = [
|
|
1401
|
-
await
|
|
1402
|
-
await
|
|
1345
|
+
await PayloadBuilder3.addStorageMeta(signedTransaction),
|
|
1346
|
+
await PayloadBuilder3.addStorageMeta(elevatedPayloads)
|
|
1403
1347
|
];
|
|
1404
1348
|
if (isDataLakeProvider(storage)) {
|
|
1405
1349
|
const wrapper = await HydratedTransactionWrapper.parse(hydratedTransaction);
|
|
@@ -1417,7 +1361,7 @@ var HttpRpcXyoConnection = class extends XyoConnection {
|
|
|
1417
1361
|
}
|
|
1418
1362
|
constructor(params) {
|
|
1419
1363
|
const { account, endpoint } = params;
|
|
1420
|
-
const signer =
|
|
1364
|
+
const signer = isDefined2(account) ? new MemoryXyoSigner(account) : void 0;
|
|
1421
1365
|
const transport = new HttpRpcTransport(endpoint, {
|
|
1422
1366
|
...XyoRunnerRpcSchemas,
|
|
1423
1367
|
...XyoViewerRpcSchemas
|
|
@@ -1468,8 +1412,6 @@ export {
|
|
|
1468
1412
|
XyoSignerRpcSchemas,
|
|
1469
1413
|
XyoViewerRpcSchemas,
|
|
1470
1414
|
buildSessionMessageRequest,
|
|
1471
|
-
confirmSubmittedTransaction,
|
|
1472
|
-
confirmTransaction,
|
|
1473
1415
|
createRequestSchema,
|
|
1474
1416
|
createResponseSchema,
|
|
1475
1417
|
getPermissionsStoreFromTransport,
|