@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.
Files changed (26) hide show
  1. package/dist/neutral/index.mjs +73 -42
  2. package/dist/neutral/index.mjs.map +1 -1
  3. package/dist/neutral/provider/provider/confirmSubmittedTransaction.d.ts +21 -0
  4. package/dist/neutral/provider/provider/confirmSubmittedTransaction.d.ts.map +1 -0
  5. package/dist/neutral/provider/provider/index.d.ts +2 -0
  6. package/dist/neutral/provider/provider/index.d.ts.map +1 -1
  7. package/dist/neutral/types/schema/common/JsonSchema.d.ts +7 -0
  8. package/dist/neutral/types/schema/common/JsonSchema.d.ts.map +1 -0
  9. package/dist/neutral/types/schema/common/index.d.ts +1 -0
  10. package/dist/neutral/types/schema/common/index.d.ts.map +1 -1
  11. package/dist/node/index-node.mjs +72 -41
  12. package/dist/node/index-node.mjs.map +1 -1
  13. package/dist/node/provider/provider/confirmSubmittedTransaction.d.ts +21 -0
  14. package/dist/node/provider/provider/confirmSubmittedTransaction.d.ts.map +1 -0
  15. package/dist/node/provider/provider/index.d.ts +2 -0
  16. package/dist/node/provider/provider/index.d.ts.map +1 -1
  17. package/dist/node/types/schema/common/JsonSchema.d.ts +7 -0
  18. package/dist/node/types/schema/common/JsonSchema.d.ts.map +1 -0
  19. package/dist/node/types/schema/common/index.d.ts +1 -0
  20. package/dist/node/types/schema/common/index.d.ts.map +1 -1
  21. package/package.json +36 -35
  22. package/src/provider/client/spec/MemoryXyoClient.spec.ts +33 -9
  23. package/src/provider/provider/confirmSubmittedTransaction.ts +55 -0
  24. package/src/provider/provider/index.ts +2 -0
  25. package/src/types/schema/common/JsonSchema.ts +19 -0
  26. package/src/types/schema/common/index.ts +1 -0
@@ -101,7 +101,66 @@ var JsonRpcXyoGateway = class extends AbstractXyoGateway {
101
101
  };
102
102
 
103
103
  // src/provider/host/MemoryXyoGateway.ts
104
- import { isDefined as isDefined2 } from "@xylabs/typeof";
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 = isDefined(params) && isDefined(schemas[method]) ? schemas[method].params.to.parse(params) : 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 PayloadBuilder.hash(transaction[0]);
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 PayloadBuilder2 } from "@xyo-network/payload-builder";
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 PayloadBuilder2.hash(transaction[0]);
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 PayloadBuilder4 } from "@xyo-network/payload-builder";
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 PayloadBuilder4.addStorageMeta(signedTransaction),
1210
- await PayloadBuilder4.addStorageMeta(elevatedPayloads)
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 isDefined2(this._activeConnectionId) ? this._connections.get(this._activeConnectionId) : void 0;
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 (!isDefined2(this._activeConnectionId)) {
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,