@xyo-network/xl1-rpc 1.7.17 → 1.7.18
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 +45 -15
- package/dist/neutral/index.mjs.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/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 +45 -15
- package/dist/node/index-node.mjs.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/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/provider/confirmSubmittedTransaction.ts +55 -0
- package/src/provider/provider/index.ts +1 -0
- package/src/types/schema/common/JsonSchema.ts +19 -0
- package/src/types/schema/common/index.ts +1 -0
package/dist/neutral/index.mjs
CHANGED
|
@@ -101,15 +101,44 @@ var JsonRpcXyoGateway = class extends AbstractXyoGateway {
|
|
|
101
101
|
};
|
|
102
102
|
|
|
103
103
|
// src/provider/host/MemoryXyoGateway.ts
|
|
104
|
-
import { isDefined as
|
|
104
|
+
import { isDefined as isDefined3 } from "@xylabs/typeof";
|
|
105
105
|
|
|
106
|
-
// src/provider/provider/
|
|
106
|
+
// src/provider/provider/confirmSubmittedTransaction.ts
|
|
107
107
|
import { delay } from "@xylabs/delay";
|
|
108
|
+
import { isDefined } from "@xylabs/typeof";
|
|
108
109
|
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
110
|
+
var DEFAULT_CONFIRMATION_ATTEMPTS = 20;
|
|
111
|
+
var DEFAULT_DELAY_BETWEEN_ATTEMPTS = 1e3;
|
|
112
|
+
var confirmSubmittedTransaction = /* @__PURE__ */ __name(async (provider, txBW, options) => {
|
|
113
|
+
const { attempts: maxAttempts = DEFAULT_CONFIRMATION_ATTEMPTS, delay: attemptDelay = DEFAULT_DELAY_BETWEEN_ATTEMPTS } = options || {};
|
|
114
|
+
const txBWHash = await PayloadBuilder.hash(txBW);
|
|
115
|
+
options?.logger?.log("\u2705 confirming transaction:", txBWHash, "\n");
|
|
116
|
+
let attempts = 0;
|
|
117
|
+
while (true) {
|
|
118
|
+
const tx = await provider.viewer?.transactionByHash(txBWHash) ?? void 0;
|
|
119
|
+
if (isDefined(tx)) {
|
|
120
|
+
options?.logger?.log("\u{1F37B} Transaction confirmed:", txBWHash, "\n");
|
|
121
|
+
return tx;
|
|
122
|
+
} else {
|
|
123
|
+
attempts++;
|
|
124
|
+
if (attempts > maxAttempts) {
|
|
125
|
+
options?.logger?.error(`\u26A0\uFE0F Transaction not confirmed after ${maxAttempts} attempts`);
|
|
126
|
+
throw new Error(`Transaction ${txBWHash} not confirmed after ${maxAttempts} attempts`);
|
|
127
|
+
} else {
|
|
128
|
+
options?.logger?.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
|
|
129
|
+
await delay(attemptDelay);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}, "confirmSubmittedTransaction");
|
|
134
|
+
|
|
135
|
+
// src/provider/provider/confirmTransaction.ts
|
|
136
|
+
import { delay as delay2 } from "@xylabs/delay";
|
|
137
|
+
import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
|
|
109
138
|
var CONFIRMATION_ATTEMPTS = 20;
|
|
110
139
|
var DELAY_BETWEEN_ATTEMPTS = 1e3;
|
|
111
140
|
var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm, onTimeout) => {
|
|
112
|
-
const txBWHash = await
|
|
141
|
+
const txBWHash = await PayloadBuilder2.hash(txBW);
|
|
113
142
|
console.log("\u2705 confirming transaction:", txBWHash, "\n");
|
|
114
143
|
let confirmed = false;
|
|
115
144
|
let attempts = 0;
|
|
@@ -127,7 +156,7 @@ var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm
|
|
|
127
156
|
return;
|
|
128
157
|
} else {
|
|
129
158
|
console.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
|
|
130
|
-
await
|
|
159
|
+
await delay2(DELAY_BETWEEN_ATTEMPTS);
|
|
131
160
|
}
|
|
132
161
|
}
|
|
133
162
|
}
|
|
@@ -883,7 +912,7 @@ var MemoryRpcTransport = class {
|
|
|
883
912
|
};
|
|
884
913
|
|
|
885
914
|
// src/transport/post-message/PostMessageRpcTransport.ts
|
|
886
|
-
import { isDefined } from "@xylabs/typeof";
|
|
915
|
+
import { isDefined as isDefined2 } from "@xylabs/typeof";
|
|
887
916
|
import { v4 as v43 } from "uuid";
|
|
888
917
|
|
|
889
918
|
// src/transport/post-message/helpers.ts
|
|
@@ -922,7 +951,7 @@ var PostMessageRpcTransport = class {
|
|
|
922
951
|
id,
|
|
923
952
|
method
|
|
924
953
|
};
|
|
925
|
-
body.params =
|
|
954
|
+
body.params = isDefined2(params) && isDefined2(schemas[method]) ? schemas[method].params.to.parse(params) : params;
|
|
926
955
|
return await new Promise((resolve, reject) => {
|
|
927
956
|
const id2 = body.id;
|
|
928
957
|
const handler = /* @__PURE__ */ __name((event) => {
|
|
@@ -959,7 +988,7 @@ var JsonRpcXyoRunner = class {
|
|
|
959
988
|
|
|
960
989
|
// src/provider/runner/MemoryXyoRunner.ts
|
|
961
990
|
import { MemoryArchivist } from "@xyo-network/archivist-memory";
|
|
962
|
-
import { PayloadBuilder as
|
|
991
|
+
import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
|
|
963
992
|
import { flattenHydratedTransaction } from "@xyo-network/xl1-protocol-sdk";
|
|
964
993
|
var MemoryXyoRunner = class {
|
|
965
994
|
static {
|
|
@@ -969,7 +998,7 @@ var MemoryXyoRunner = class {
|
|
|
969
998
|
async broadcastTransaction(transaction) {
|
|
970
999
|
const archivist = await this.getArchivist();
|
|
971
1000
|
await archivist.insert(flattenHydratedTransaction(transaction));
|
|
972
|
-
return await
|
|
1001
|
+
return await PayloadBuilder3.hash(transaction[0]);
|
|
973
1002
|
}
|
|
974
1003
|
async getArchivist() {
|
|
975
1004
|
if (!this._archivist) {
|
|
@@ -984,7 +1013,7 @@ var MemoryXyoRunner = class {
|
|
|
984
1013
|
// src/provider/runner/NodeXyoRunner.ts
|
|
985
1014
|
import { assertEx as assertEx2 } from "@xylabs/assert";
|
|
986
1015
|
import { asArchivistInstance } from "@xyo-network/archivist-model";
|
|
987
|
-
import { PayloadBuilder as
|
|
1016
|
+
import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
|
|
988
1017
|
import { PayloadBundleSchema } from "@xyo-network/payload-model";
|
|
989
1018
|
import { flattenHydratedTransaction as flattenHydratedTransaction2 } from "@xyo-network/xl1-protocol-sdk";
|
|
990
1019
|
var NodeXyoRunner = class {
|
|
@@ -1001,7 +1030,7 @@ var NodeXyoRunner = class {
|
|
|
1001
1030
|
async broadcastTransaction(transaction) {
|
|
1002
1031
|
const flattened = flattenHydratedTransaction2(transaction);
|
|
1003
1032
|
const pendingArchivist = await this.getPendingArchivist();
|
|
1004
|
-
const txHash = await
|
|
1033
|
+
const txHash = await PayloadBuilder4.hash(transaction[0]);
|
|
1005
1034
|
const payloadBundle = {
|
|
1006
1035
|
schema: PayloadBundleSchema,
|
|
1007
1036
|
payloads: flattened,
|
|
@@ -1147,7 +1176,7 @@ var JsonRpcXyoViewer = class {
|
|
|
1147
1176
|
|
|
1148
1177
|
// src/provider/provider/XyoConnection.ts
|
|
1149
1178
|
import { assertEx as assertEx3 } from "@xylabs/assert";
|
|
1150
|
-
import { PayloadBuilder as
|
|
1179
|
+
import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
|
|
1151
1180
|
import { isAnyPayload } from "@xyo-network/payload-model";
|
|
1152
1181
|
import { defaultTransactionFees, isDataLakeProvider } from "@xyo-network/xl1-protocol";
|
|
1153
1182
|
import { HydratedTransactionWrapper } from "@xyo-network/xl1-wrappers";
|
|
@@ -1206,8 +1235,8 @@ var XyoConnection = class {
|
|
|
1206
1235
|
if (fromResolved === void 0) throw new Error("Failed to determine from address");
|
|
1207
1236
|
const signedTransaction = assertEx3(await signer.createSignedTransaction(chainResolved, elevatedPayloads, additionalPayloads, nbfResolved, expResolved, feesResolved, fromResolved), () => "Failed to create transaction");
|
|
1208
1237
|
const hydratedTransaction = [
|
|
1209
|
-
await
|
|
1210
|
-
await
|
|
1238
|
+
await PayloadBuilder5.addStorageMeta(signedTransaction),
|
|
1239
|
+
await PayloadBuilder5.addStorageMeta(elevatedPayloads)
|
|
1211
1240
|
];
|
|
1212
1241
|
if (isDataLakeProvider(storage)) {
|
|
1213
1242
|
const wrapper = await HydratedTransactionWrapper.parse(hydratedTransaction);
|
|
@@ -1260,7 +1289,7 @@ var MemoryXyoGateway = class extends AbstractXyoGateway {
|
|
|
1260
1289
|
return this._signer;
|
|
1261
1290
|
}
|
|
1262
1291
|
activeConnection() {
|
|
1263
|
-
return
|
|
1292
|
+
return isDefined3(this._activeConnectionId) ? this._connections.get(this._activeConnectionId) : void 0;
|
|
1264
1293
|
}
|
|
1265
1294
|
addConnection(configOrName, connection) {
|
|
1266
1295
|
if (typeof configOrName === "string" && connection !== void 0) {
|
|
@@ -1297,7 +1326,7 @@ var MemoryXyoGateway = class extends AbstractXyoGateway {
|
|
|
1297
1326
|
return this._permissionsStore.revokePermissions(permissions);
|
|
1298
1327
|
}
|
|
1299
1328
|
setActiveConnectionIdIfUndefined(id) {
|
|
1300
|
-
if (!
|
|
1329
|
+
if (!isDefined3(this._activeConnectionId)) {
|
|
1301
1330
|
this._activeConnectionId = id;
|
|
1302
1331
|
}
|
|
1303
1332
|
}
|
|
@@ -1448,6 +1477,7 @@ export {
|
|
|
1448
1477
|
XyoSignerRpcSchemas,
|
|
1449
1478
|
XyoViewerRpcSchemas,
|
|
1450
1479
|
buildSessionMessageRequest,
|
|
1480
|
+
confirmSubmittedTransaction,
|
|
1451
1481
|
confirmTransaction,
|
|
1452
1482
|
createRequestSchema,
|
|
1453
1483
|
createResponseSchema,
|