@xyo-network/xl1-rpc 1.7.16 → 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 +73 -42
- 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 +2 -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 +72 -41
- 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 +2 -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/client/spec/MemoryXyoClient.spec.ts +33 -9
- package/src/provider/provider/confirmSubmittedTransaction.ts +55 -0
- package/src/provider/provider/index.ts +2 -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,7 +101,66 @@ 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
|
+
|
|
106
|
+
// src/provider/provider/confirmSubmittedTransaction.ts
|
|
107
|
+
import { delay } from "@xylabs/delay";
|
|
108
|
+
import { isDefined } from "@xylabs/typeof";
|
|
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";
|
|
138
|
+
var CONFIRMATION_ATTEMPTS = 20;
|
|
139
|
+
var DELAY_BETWEEN_ATTEMPTS = 1e3;
|
|
140
|
+
var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm, onTimeout) => {
|
|
141
|
+
const txBWHash = await PayloadBuilder2.hash(txBW);
|
|
142
|
+
console.log("\u2705 confirming transaction:", txBWHash, "\n");
|
|
143
|
+
let confirmed = false;
|
|
144
|
+
let attempts = 0;
|
|
145
|
+
while (!confirmed) {
|
|
146
|
+
const tx = await provider.viewer?.transactionByHash(txBWHash);
|
|
147
|
+
if (tx) {
|
|
148
|
+
confirmed = true;
|
|
149
|
+
console.log("\u{1F37B} Transaction confirmed:", txBWHash, "\n");
|
|
150
|
+
onConfirm?.(txBWHash);
|
|
151
|
+
} else {
|
|
152
|
+
attempts++;
|
|
153
|
+
if (attempts > CONFIRMATION_ATTEMPTS) {
|
|
154
|
+
console.error(`\u26A0\uFE0F Transaction not confirmed after ${CONFIRMATION_ATTEMPTS} attempts`);
|
|
155
|
+
onTimeout?.();
|
|
156
|
+
return;
|
|
157
|
+
} else {
|
|
158
|
+
console.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
|
|
159
|
+
await delay2(DELAY_BETWEEN_ATTEMPTS);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}, "confirmTransaction");
|
|
105
164
|
|
|
106
165
|
// src/types/ErrorCodes.ts
|
|
107
166
|
var JsonRpcErrorCodes = {
|
|
@@ -853,7 +912,7 @@ var MemoryRpcTransport = class {
|
|
|
853
912
|
};
|
|
854
913
|
|
|
855
914
|
// src/transport/post-message/PostMessageRpcTransport.ts
|
|
856
|
-
import { isDefined } from "@xylabs/typeof";
|
|
915
|
+
import { isDefined as isDefined2 } from "@xylabs/typeof";
|
|
857
916
|
import { v4 as v43 } from "uuid";
|
|
858
917
|
|
|
859
918
|
// src/transport/post-message/helpers.ts
|
|
@@ -892,7 +951,7 @@ var PostMessageRpcTransport = class {
|
|
|
892
951
|
id,
|
|
893
952
|
method
|
|
894
953
|
};
|
|
895
|
-
body.params =
|
|
954
|
+
body.params = isDefined2(params) && isDefined2(schemas[method]) ? schemas[method].params.to.parse(params) : params;
|
|
896
955
|
return await new Promise((resolve, reject) => {
|
|
897
956
|
const id2 = body.id;
|
|
898
957
|
const handler = /* @__PURE__ */ __name((event) => {
|
|
@@ -929,7 +988,7 @@ var JsonRpcXyoRunner = class {
|
|
|
929
988
|
|
|
930
989
|
// src/provider/runner/MemoryXyoRunner.ts
|
|
931
990
|
import { MemoryArchivist } from "@xyo-network/archivist-memory";
|
|
932
|
-
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
991
|
+
import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
|
|
933
992
|
import { flattenHydratedTransaction } from "@xyo-network/xl1-protocol-sdk";
|
|
934
993
|
var MemoryXyoRunner = class {
|
|
935
994
|
static {
|
|
@@ -939,7 +998,7 @@ var MemoryXyoRunner = class {
|
|
|
939
998
|
async broadcastTransaction(transaction) {
|
|
940
999
|
const archivist = await this.getArchivist();
|
|
941
1000
|
await archivist.insert(flattenHydratedTransaction(transaction));
|
|
942
|
-
return await
|
|
1001
|
+
return await PayloadBuilder3.hash(transaction[0]);
|
|
943
1002
|
}
|
|
944
1003
|
async getArchivist() {
|
|
945
1004
|
if (!this._archivist) {
|
|
@@ -954,7 +1013,7 @@ var MemoryXyoRunner = class {
|
|
|
954
1013
|
// src/provider/runner/NodeXyoRunner.ts
|
|
955
1014
|
import { assertEx as assertEx2 } from "@xylabs/assert";
|
|
956
1015
|
import { asArchivistInstance } from "@xyo-network/archivist-model";
|
|
957
|
-
import { PayloadBuilder as
|
|
1016
|
+
import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
|
|
958
1017
|
import { PayloadBundleSchema } from "@xyo-network/payload-model";
|
|
959
1018
|
import { flattenHydratedTransaction as flattenHydratedTransaction2 } from "@xyo-network/xl1-protocol-sdk";
|
|
960
1019
|
var NodeXyoRunner = class {
|
|
@@ -971,7 +1030,7 @@ var NodeXyoRunner = class {
|
|
|
971
1030
|
async broadcastTransaction(transaction) {
|
|
972
1031
|
const flattened = flattenHydratedTransaction2(transaction);
|
|
973
1032
|
const pendingArchivist = await this.getPendingArchivist();
|
|
974
|
-
const txHash = await
|
|
1033
|
+
const txHash = await PayloadBuilder4.hash(transaction[0]);
|
|
975
1034
|
const payloadBundle = {
|
|
976
1035
|
schema: PayloadBundleSchema,
|
|
977
1036
|
payloads: flattened,
|
|
@@ -1115,39 +1174,9 @@ var JsonRpcXyoViewer = class {
|
|
|
1115
1174
|
}
|
|
1116
1175
|
};
|
|
1117
1176
|
|
|
1118
|
-
// src/provider/provider/confirmTransaction.ts
|
|
1119
|
-
import { delay } from "@xylabs/delay";
|
|
1120
|
-
import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
|
|
1121
|
-
var CONFIRMATION_ATTEMPTS = 20;
|
|
1122
|
-
var DELAY_BETWEEN_ATTEMPTS = 1e3;
|
|
1123
|
-
var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm, onTimeout) => {
|
|
1124
|
-
const txBWHash = await PayloadBuilder3.hash(txBW);
|
|
1125
|
-
console.log("\u2705 confirming transaction:", txBWHash, "\n");
|
|
1126
|
-
let confirmed = false;
|
|
1127
|
-
let attempts = 0;
|
|
1128
|
-
while (!confirmed) {
|
|
1129
|
-
const tx = await provider.viewer?.transactionByHash(txBWHash);
|
|
1130
|
-
if (tx) {
|
|
1131
|
-
confirmed = true;
|
|
1132
|
-
console.log("\u{1F37B} Transaction confirmed:", txBWHash, "\n");
|
|
1133
|
-
onConfirm?.(txBWHash);
|
|
1134
|
-
} else {
|
|
1135
|
-
attempts++;
|
|
1136
|
-
if (attempts > CONFIRMATION_ATTEMPTS) {
|
|
1137
|
-
console.error(`\u26A0\uFE0F Transaction not confirmed after ${CONFIRMATION_ATTEMPTS} attempts`);
|
|
1138
|
-
onTimeout?.();
|
|
1139
|
-
return;
|
|
1140
|
-
} else {
|
|
1141
|
-
console.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
|
|
1142
|
-
await delay(DELAY_BETWEEN_ATTEMPTS);
|
|
1143
|
-
}
|
|
1144
|
-
}
|
|
1145
|
-
}
|
|
1146
|
-
}, "confirmTransaction");
|
|
1147
|
-
|
|
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,8 @@ export {
|
|
|
1448
1477
|
XyoSignerRpcSchemas,
|
|
1449
1478
|
XyoViewerRpcSchemas,
|
|
1450
1479
|
buildSessionMessageRequest,
|
|
1480
|
+
confirmSubmittedTransaction,
|
|
1481
|
+
confirmTransaction,
|
|
1451
1482
|
createRequestSchema,
|
|
1452
1483
|
createResponseSchema,
|
|
1453
1484
|
getPermissionsStoreFromTransport,
|