@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonSchema.d.ts","sourceRoot":"","sources":["../../../../../src/types/schema/common/JsonSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,QAAA,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAQnC,CAAA;AAGL,eAAO,MAAM,gBAAgB,qEAA4B,CAAA;AAGzD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AACvD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
@@ -6,6 +6,7 @@ export * from './HashSchema.ts';
6
6
  export * from './HexSchema.ts';
7
7
  export * from './HydratedBlockSchema.ts';
8
8
  export * from './HydratedTransactionSchema.ts';
9
+ export * from './JsonSchema.ts';
9
10
  export * from './PayloadSchema.ts';
10
11
  export * from './SequenceSchema.ts';
11
12
  export * from './StorageMetaSchema.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/schema/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oCAAoC,CAAA;AAClD,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/schema/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,oCAAoC,CAAA;AAClD,cAAc,sBAAsB,CAAA"}
@@ -803,7 +803,66 @@ var JsonRpcXyoGateway = class extends AbstractXyoGateway {
803
803
  };
804
804
 
805
805
  // src/provider/host/MemoryXyoGateway.ts
806
+ import { isDefined as isDefined2 } from "@xylabs/typeof";
807
+
808
+ // src/provider/provider/confirmSubmittedTransaction.ts
809
+ import { delay } from "@xylabs/delay";
806
810
  import { isDefined } from "@xylabs/typeof";
811
+ import { PayloadBuilder } from "@xyo-network/payload-builder";
812
+ var DEFAULT_CONFIRMATION_ATTEMPTS = 20;
813
+ var DEFAULT_DELAY_BETWEEN_ATTEMPTS = 1e3;
814
+ var confirmSubmittedTransaction = /* @__PURE__ */ __name(async (provider, txBW, options) => {
815
+ const { attempts: maxAttempts = DEFAULT_CONFIRMATION_ATTEMPTS, delay: attemptDelay = DEFAULT_DELAY_BETWEEN_ATTEMPTS } = options || {};
816
+ const txBWHash = await PayloadBuilder.hash(txBW);
817
+ options?.logger?.log("\u2705 confirming transaction:", txBWHash, "\n");
818
+ let attempts = 0;
819
+ while (true) {
820
+ const tx = await provider.viewer?.transactionByHash(txBWHash) ?? void 0;
821
+ if (isDefined(tx)) {
822
+ options?.logger?.log("\u{1F37B} Transaction confirmed:", txBWHash, "\n");
823
+ return tx;
824
+ } else {
825
+ attempts++;
826
+ if (attempts > maxAttempts) {
827
+ options?.logger?.error(`\u26A0\uFE0F Transaction not confirmed after ${maxAttempts} attempts`);
828
+ throw new Error(`Transaction ${txBWHash} not confirmed after ${maxAttempts} attempts`);
829
+ } else {
830
+ options?.logger?.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
831
+ await delay(attemptDelay);
832
+ }
833
+ }
834
+ }
835
+ }, "confirmSubmittedTransaction");
836
+
837
+ // src/provider/provider/confirmTransaction.ts
838
+ import { delay as delay2 } from "@xylabs/delay";
839
+ import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
840
+ var CONFIRMATION_ATTEMPTS = 20;
841
+ var DELAY_BETWEEN_ATTEMPTS = 1e3;
842
+ var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm, onTimeout) => {
843
+ const txBWHash = await PayloadBuilder2.hash(txBW);
844
+ console.log("\u2705 confirming transaction:", txBWHash, "\n");
845
+ let confirmed = false;
846
+ let attempts = 0;
847
+ while (!confirmed) {
848
+ const tx = await provider.viewer?.transactionByHash(txBWHash);
849
+ if (tx) {
850
+ confirmed = true;
851
+ console.log("\u{1F37B} Transaction confirmed:", txBWHash, "\n");
852
+ onConfirm?.(txBWHash);
853
+ } else {
854
+ attempts++;
855
+ if (attempts > CONFIRMATION_ATTEMPTS) {
856
+ console.error(`\u26A0\uFE0F Transaction not confirmed after ${CONFIRMATION_ATTEMPTS} attempts`);
857
+ onTimeout?.();
858
+ return;
859
+ } else {
860
+ console.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
861
+ await delay2(DELAY_BETWEEN_ATTEMPTS);
862
+ }
863
+ }
864
+ }
865
+ }, "confirmTransaction");
807
866
 
808
867
  // src/provider/runner/JsonRpcXyoRunner.ts
809
868
  var JsonRpcXyoRunner = class {
@@ -823,7 +882,7 @@ var JsonRpcXyoRunner = class {
823
882
 
824
883
  // src/provider/runner/MemoryXyoRunner.ts
825
884
  import { MemoryArchivist } from "@xyo-network/archivist-memory";
826
- import { PayloadBuilder } from "@xyo-network/payload-builder";
885
+ import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
827
886
  import { flattenHydratedTransaction } from "@xyo-network/xl1-protocol-sdk";
828
887
  var MemoryXyoRunner = class {
829
888
  static {
@@ -833,7 +892,7 @@ var MemoryXyoRunner = class {
833
892
  async broadcastTransaction(transaction) {
834
893
  const archivist = await this.getArchivist();
835
894
  await archivist.insert(flattenHydratedTransaction(transaction));
836
- return await PayloadBuilder.hash(transaction[0]);
895
+ return await PayloadBuilder3.hash(transaction[0]);
837
896
  }
838
897
  async getArchivist() {
839
898
  if (!this._archivist) {
@@ -848,7 +907,7 @@ var MemoryXyoRunner = class {
848
907
  // src/provider/runner/NodeXyoRunner.ts
849
908
  import { assertEx as assertEx2 } from "@xylabs/assert";
850
909
  import { asArchivistInstance } from "@xyo-network/archivist-model";
851
- import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
910
+ import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
852
911
  import { PayloadBundleSchema } from "@xyo-network/payload-model";
853
912
  import { flattenHydratedTransaction as flattenHydratedTransaction2 } from "@xyo-network/xl1-protocol-sdk";
854
913
  var NodeXyoRunner = class {
@@ -865,7 +924,7 @@ var NodeXyoRunner = class {
865
924
  async broadcastTransaction(transaction) {
866
925
  const flattened = flattenHydratedTransaction2(transaction);
867
926
  const pendingArchivist = await this.getPendingArchivist();
868
- const txHash = await PayloadBuilder2.hash(transaction[0]);
927
+ const txHash = await PayloadBuilder4.hash(transaction[0]);
869
928
  const payloadBundle = {
870
929
  schema: PayloadBundleSchema,
871
930
  payloads: flattened,
@@ -1009,39 +1068,9 @@ var JsonRpcXyoViewer = class {
1009
1068
  }
1010
1069
  };
1011
1070
 
1012
- // src/provider/provider/confirmTransaction.ts
1013
- import { delay } from "@xylabs/delay";
1014
- import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
1015
- var CONFIRMATION_ATTEMPTS = 20;
1016
- var DELAY_BETWEEN_ATTEMPTS = 1e3;
1017
- var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm, onTimeout) => {
1018
- const txBWHash = await PayloadBuilder3.hash(txBW);
1019
- console.log("\u2705 confirming transaction:", txBWHash, "\n");
1020
- let confirmed = false;
1021
- let attempts = 0;
1022
- while (!confirmed) {
1023
- const tx = await provider.viewer?.transactionByHash(txBWHash);
1024
- if (tx) {
1025
- confirmed = true;
1026
- console.log("\u{1F37B} Transaction confirmed:", txBWHash, "\n");
1027
- onConfirm?.(txBWHash);
1028
- } else {
1029
- attempts++;
1030
- if (attempts > CONFIRMATION_ATTEMPTS) {
1031
- console.error(`\u26A0\uFE0F Transaction not confirmed after ${CONFIRMATION_ATTEMPTS} attempts`);
1032
- onTimeout?.();
1033
- return;
1034
- } else {
1035
- console.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
1036
- await delay(DELAY_BETWEEN_ATTEMPTS);
1037
- }
1038
- }
1039
- }
1040
- }, "confirmTransaction");
1041
-
1042
1071
  // src/provider/provider/XyoConnection.ts
1043
1072
  import { assertEx as assertEx3 } from "@xylabs/assert";
1044
- import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
1073
+ import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
1045
1074
  import { isAnyPayload } from "@xyo-network/payload-model";
1046
1075
  import { defaultTransactionFees, isDataLakeProvider } from "@xyo-network/xl1-protocol";
1047
1076
  import { HydratedTransactionWrapper } from "@xyo-network/xl1-wrappers";
@@ -1100,8 +1129,8 @@ var XyoConnection = class {
1100
1129
  if (fromResolved === void 0) throw new Error("Failed to determine from address");
1101
1130
  const signedTransaction = assertEx3(await signer.createSignedTransaction(chainResolved, elevatedPayloads, additionalPayloads, nbfResolved, expResolved, feesResolved, fromResolved), () => "Failed to create transaction");
1102
1131
  const hydratedTransaction = [
1103
- await PayloadBuilder4.addStorageMeta(signedTransaction),
1104
- await PayloadBuilder4.addStorageMeta(elevatedPayloads)
1132
+ await PayloadBuilder5.addStorageMeta(signedTransaction),
1133
+ await PayloadBuilder5.addStorageMeta(elevatedPayloads)
1105
1134
  ];
1106
1135
  if (isDataLakeProvider(storage)) {
1107
1136
  const wrapper = await HydratedTransactionWrapper.parse(hydratedTransaction);
@@ -1154,7 +1183,7 @@ var MemoryXyoGateway = class extends AbstractXyoGateway {
1154
1183
  return this._signer;
1155
1184
  }
1156
1185
  activeConnection() {
1157
- return isDefined(this._activeConnectionId) ? this._connections.get(this._activeConnectionId) : void 0;
1186
+ return isDefined2(this._activeConnectionId) ? this._connections.get(this._activeConnectionId) : void 0;
1158
1187
  }
1159
1188
  addConnection(configOrName, connection) {
1160
1189
  if (typeof configOrName === "string" && connection !== void 0) {
@@ -1191,7 +1220,7 @@ var MemoryXyoGateway = class extends AbstractXyoGateway {
1191
1220
  return this._permissionsStore.revokePermissions(permissions);
1192
1221
  }
1193
1222
  setActiveConnectionIdIfUndefined(id) {
1194
- if (!isDefined(this._activeConnectionId)) {
1223
+ if (!isDefined2(this._activeConnectionId)) {
1195
1224
  this._activeConnectionId = id;
1196
1225
  }
1197
1226
  }
@@ -1397,7 +1426,7 @@ var MemoryRpcTransport = class {
1397
1426
  };
1398
1427
 
1399
1428
  // src/transport/post-message/PostMessageRpcTransport.ts
1400
- import { isDefined as isDefined2 } from "@xylabs/typeof";
1429
+ import { isDefined as isDefined3 } from "@xylabs/typeof";
1401
1430
  import { v4 as v43 } from "uuid";
1402
1431
 
1403
1432
  // src/transport/post-message/helpers.ts
@@ -1436,7 +1465,7 @@ var PostMessageRpcTransport = class {
1436
1465
  id,
1437
1466
  method
1438
1467
  };
1439
- body.params = isDefined2(params) && isDefined2(schemas[method]) ? schemas[method].params.to.parse(params) : params;
1468
+ body.params = isDefined3(params) && isDefined3(schemas[method]) ? schemas[method].params.to.parse(params) : params;
1440
1469
  return await new Promise((resolve, reject) => {
1441
1470
  const id2 = body.id;
1442
1471
  const handler = /* @__PURE__ */ __name((event) => {
@@ -1485,6 +1514,8 @@ export {
1485
1514
  XyoSignerRpcSchemas,
1486
1515
  XyoViewerRpcSchemas,
1487
1516
  buildSessionMessageRequest,
1517
+ confirmSubmittedTransaction,
1518
+ confirmTransaction,
1488
1519
  createRequestSchema,
1489
1520
  createResponseSchema,
1490
1521
  getPermissionsStoreFromTransport,