@xyo-network/xl1-rpc 1.7.17 → 1.7.19

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 (116) hide show
  1. package/dist/neutral/index.mjs +225 -251
  2. package/dist/neutral/index.mjs.map +1 -1
  3. package/dist/neutral/provider/client/MemoryXyoClient.d.ts +4 -5
  4. package/dist/neutral/provider/client/MemoryXyoClient.d.ts.map +1 -1
  5. package/dist/neutral/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
  6. package/dist/neutral/provider/client/PermissionsStore/PermissionsStore.d.ts.map +1 -0
  7. package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
  8. package/dist/neutral/provider/client/PermissionsStore/index.d.ts.map +1 -0
  9. package/dist/neutral/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
  10. package/dist/neutral/provider/client/index.d.ts +1 -1
  11. package/dist/neutral/provider/client/index.d.ts.map +1 -1
  12. package/dist/neutral/provider/host/Abstract.d.ts +9 -7
  13. package/dist/neutral/provider/host/Abstract.d.ts.map +1 -1
  14. package/dist/neutral/provider/host/MemoryXyoGateway.d.ts +5 -17
  15. package/dist/neutral/provider/host/MemoryXyoGateway.d.ts.map +1 -1
  16. package/dist/neutral/provider/host/index.d.ts +0 -2
  17. package/dist/neutral/provider/host/index.d.ts.map +1 -1
  18. package/dist/neutral/provider/index.d.ts +1 -0
  19. package/dist/neutral/provider/index.d.ts.map +1 -1
  20. package/dist/neutral/provider/provider/RpcXyoConnection.d.ts +0 -3
  21. package/dist/neutral/provider/provider/RpcXyoConnection.d.ts.map +1 -1
  22. package/dist/neutral/provider/provider/confirmSubmittedTransaction.d.ts +21 -0
  23. package/dist/neutral/provider/provider/confirmSubmittedTransaction.d.ts.map +1 -0
  24. package/dist/neutral/provider/provider/index.d.ts +1 -0
  25. package/dist/neutral/provider/provider/index.d.ts.map +1 -1
  26. package/dist/neutral/types/XyoGatewayRpc.d.ts +1 -1
  27. package/dist/neutral/types/XyoGatewayRpc.d.ts.map +1 -1
  28. package/dist/neutral/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
  29. package/dist/neutral/types/schema/common/JsonSchema.d.ts +7 -0
  30. package/dist/neutral/types/schema/common/JsonSchema.d.ts.map +1 -0
  31. package/dist/neutral/types/schema/common/index.d.ts +1 -0
  32. package/dist/neutral/types/schema/common/index.d.ts.map +1 -1
  33. package/dist/node/index-node.mjs +223 -249
  34. package/dist/node/index-node.mjs.map +1 -1
  35. package/dist/node/provider/client/MemoryXyoClient.d.ts +4 -5
  36. package/dist/node/provider/client/MemoryXyoClient.d.ts.map +1 -1
  37. package/dist/node/provider/client/PermissionsStore/MemoryPermissionsStore.d.ts.map +1 -0
  38. package/dist/node/provider/client/PermissionsStore/PermissionsStore.d.ts.map +1 -0
  39. package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -0
  40. package/dist/node/provider/client/PermissionsStore/index.d.ts.map +1 -0
  41. package/dist/node/provider/client/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +1 -0
  42. package/dist/node/provider/client/index.d.ts +1 -1
  43. package/dist/node/provider/client/index.d.ts.map +1 -1
  44. package/dist/node/provider/host/Abstract.d.ts +9 -7
  45. package/dist/node/provider/host/Abstract.d.ts.map +1 -1
  46. package/dist/node/provider/host/MemoryXyoGateway.d.ts +5 -17
  47. package/dist/node/provider/host/MemoryXyoGateway.d.ts.map +1 -1
  48. package/dist/node/provider/host/index.d.ts +0 -2
  49. package/dist/node/provider/host/index.d.ts.map +1 -1
  50. package/dist/node/provider/index.d.ts +1 -0
  51. package/dist/node/provider/index.d.ts.map +1 -1
  52. package/dist/node/provider/provider/RpcXyoConnection.d.ts +0 -3
  53. package/dist/node/provider/provider/RpcXyoConnection.d.ts.map +1 -1
  54. package/dist/node/provider/provider/confirmSubmittedTransaction.d.ts +21 -0
  55. package/dist/node/provider/provider/confirmSubmittedTransaction.d.ts.map +1 -0
  56. package/dist/node/provider/provider/index.d.ts +1 -0
  57. package/dist/node/provider/provider/index.d.ts.map +1 -1
  58. package/dist/node/types/XyoGatewayRpc.d.ts +1 -1
  59. package/dist/node/types/XyoGatewayRpc.d.ts.map +1 -1
  60. package/dist/node/types/schema/XyoGatewayRpcSchemas.d.ts.map +1 -1
  61. package/dist/node/types/schema/common/JsonSchema.d.ts +7 -0
  62. package/dist/node/types/schema/common/JsonSchema.d.ts.map +1 -0
  63. package/dist/node/types/schema/common/index.d.ts +1 -0
  64. package/dist/node/types/schema/common/index.d.ts.map +1 -1
  65. package/package.json +36 -35
  66. package/src/provider/client/MemoryXyoClient.ts +7 -6
  67. package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +12 -0
  68. package/src/provider/client/index.ts +1 -1
  69. package/src/provider/client/spec/MemoryXyoClient.spec.ts +13 -10
  70. package/src/provider/host/Abstract.ts +28 -7
  71. package/src/provider/host/MemoryXyoGateway.ts +8 -70
  72. package/src/provider/host/index.ts +0 -2
  73. package/src/provider/host/spec/MemoryXyoGateway.spec.ts +9 -50
  74. package/src/provider/index.ts +1 -0
  75. package/src/provider/provider/RpcXyoConnection.ts +0 -11
  76. package/src/provider/provider/confirmSubmittedTransaction.ts +55 -0
  77. package/src/provider/provider/index.ts +1 -0
  78. package/src/types/XyoGatewayRpc.ts +1 -1
  79. package/src/types/schema/XyoGatewayRpcSchemas.ts +2 -0
  80. package/src/types/schema/common/JsonSchema.ts +19 -0
  81. package/src/types/schema/common/index.ts +1 -0
  82. package/dist/neutral/provider/client/XyoClient.d.ts +0 -6
  83. package/dist/neutral/provider/client/XyoClient.d.ts.map +0 -1
  84. package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts +0 -16
  85. package/dist/neutral/provider/host/JsonRpcXyoGateway.d.ts.map +0 -1
  86. package/dist/neutral/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
  87. package/dist/neutral/provider/host/PermissionsStore/PermissionsStore.d.ts.map +0 -1
  88. package/dist/neutral/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
  89. package/dist/neutral/provider/host/PermissionsStore/index.d.ts.map +0 -1
  90. package/dist/neutral/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
  91. package/dist/node/provider/client/XyoClient.d.ts +0 -6
  92. package/dist/node/provider/client/XyoClient.d.ts.map +0 -1
  93. package/dist/node/provider/host/JsonRpcXyoGateway.d.ts +0 -16
  94. package/dist/node/provider/host/JsonRpcXyoGateway.d.ts.map +0 -1
  95. package/dist/node/provider/host/PermissionsStore/MemoryPermissionsStore.d.ts.map +0 -1
  96. package/dist/node/provider/host/PermissionsStore/PermissionsStore.d.ts.map +0 -1
  97. package/dist/node/provider/host/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +0 -1
  98. package/dist/node/provider/host/PermissionsStore/index.d.ts.map +0 -1
  99. package/dist/node/provider/host/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts.map +0 -1
  100. package/src/provider/client/XyoClient.ts +0 -6
  101. package/src/provider/host/JsonRpcXyoGateway.ts +0 -41
  102. package/src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts +0 -13
  103. /package/dist/neutral/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.d.ts +0 -0
  104. /package/dist/neutral/provider/{host → client}/PermissionsStore/PermissionsStore.d.ts +0 -0
  105. /package/dist/neutral/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -0
  106. /package/dist/neutral/provider/{host → client}/PermissionsStore/index.d.ts +0 -0
  107. /package/dist/neutral/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -0
  108. /package/dist/node/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.d.ts +0 -0
  109. /package/dist/node/provider/{host → client}/PermissionsStore/PermissionsStore.d.ts +0 -0
  110. /package/dist/node/provider/{host → client}/PermissionsStore/getPermissionsStoreFromTransport.d.ts +0 -0
  111. /package/dist/node/provider/{host → client}/PermissionsStore/index.d.ts +0 -0
  112. /package/dist/node/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.d.ts +0 -0
  113. /package/src/provider/{host → client}/PermissionsStore/MemoryPermissionsStore.ts +0 -0
  114. /package/src/provider/{host → client}/PermissionsStore/PermissionsStore.ts +0 -0
  115. /package/src/provider/{host → client}/PermissionsStore/index.ts +0 -0
  116. /package/src/provider/{host → client}/PermissionsStore/spec/MemoryPermissionsStore.spec.ts +0 -0
@@ -647,74 +647,68 @@ var InvokerPermissionSchema = PermissionSchema.extend({
647
647
  date: z20.number().optional()
648
648
  });
649
649
  var XyoGatewayRpcSchemas = {
650
+ /*
650
651
  xyoGateway_addConnection: {
651
652
  params: {
652
- to: z20.tuple([
653
- ChainConnectionSchema
654
- ]),
655
- from: z20.tuple([
656
- ChainConnectionSchema
657
- ])
653
+ to: z.tuple([ChainConnectionSchema]),
654
+ from: z.tuple([ChainConnectionSchema]),
658
655
  },
659
656
  result: {
660
- to: z20.tuple([
661
- z20.boolean()
662
- ]),
663
- from: z20.tuple([
664
- z20.boolean()
665
- ])
666
- }
657
+ to: z.tuple([z.boolean()]),
658
+ from: z.tuple([z.boolean()]),
659
+ },
667
660
  },
668
661
  xyoGateway_connections: {
669
662
  params: {
670
- to: z20.array(z20.any()).length(0).optional(),
671
- from: z20.array(z20.any()).length(0).optional()
663
+ to: z.array(z.any()).length(0).optional(),
664
+ from: z.array(z.any()).length(0).optional(),
672
665
  },
673
666
  result: {
674
- to: z20.array(ChainConnectionSchema),
675
- from: z20.array(ChainConnectionSchema)
676
- }
667
+ to: z.array(ChainConnectionSchema),
668
+ from: z.array(ChainConnectionSchema),
669
+ },
677
670
  },
678
671
  xyoGateway_getPermissions: {
679
672
  params: {
680
- to: z20.array(z20.any()).length(0).optional(),
681
- from: z20.array(z20.any()).length(0).optional()
673
+ to: z.array(z.any()).length(0).optional(),
674
+ from: z.array(z.any()).length(0).optional(),
682
675
  },
683
676
  result: {
684
- to: z20.array(InvokerPermissionSchema),
685
- from: z20.array(InvokerPermissionSchema)
686
- }
677
+ to: z.array(InvokerPermissionSchema),
678
+ from: z.array(InvokerPermissionSchema),
679
+ },
687
680
  },
688
681
  xyoGateway_requestPermissions: {
689
682
  params: {
690
- to: z20.array(PermissionSchema),
691
- from: z20.array(PermissionSchema)
683
+ to: z.array(PermissionSchema),
684
+ from: z.array(PermissionSchema),
692
685
  },
693
686
  result: {
694
- to: z20.boolean(),
695
- from: z20.boolean()
696
- }
687
+ to: z.boolean(),
688
+ from: z.boolean(),
689
+ },
697
690
  },
698
691
  xyoGateway_revokePermissions: {
699
692
  params: {
700
- to: z20.array(PermissionSchema),
701
- from: z20.array(PermissionSchema)
693
+ to: z.array(PermissionSchema),
694
+ from: z.array(PermissionSchema),
702
695
  },
703
696
  result: {
704
- to: z20.boolean(),
705
- from: z20.boolean()
706
- }
697
+ to: z.boolean(),
698
+ from: z.boolean(),
699
+ },
707
700
  },
708
701
  xyoGateway_activeConnection: {
709
702
  params: {
710
- from: z20.never(),
711
- to: z20.never()
703
+ from: z.never(),
704
+ to: z.never(),
712
705
  },
713
706
  result: {
714
- from: z20.string().optional(),
715
- to: z20.string().optional()
716
- }
707
+ from: z.string().optional(),
708
+ to: z.string().optional(),
709
+ },
717
710
  },
711
+ */
718
712
  xyoGateway_submitTransaction: {
719
713
  params: {
720
714
  from: z20.array(HydratedTransactionSchema),
@@ -761,57 +755,215 @@ var rpcEngineFromProvider = /* @__PURE__ */ __name((provider) => {
761
755
  return engine;
762
756
  }, "rpcEngineFromProvider");
763
757
 
764
- // src/provider/host/Abstract.ts
765
- import { assertEx } from "@xylabs/assert";
766
- var AbstractXyoGateway = class {
758
+ // src/provider/client/MemoryXyoClient.ts
759
+ var MemoryXyoClient = class {
767
760
  static {
768
- __name(this, "AbstractXyoGateway");
761
+ __name(this, "MemoryXyoClient");
769
762
  }
770
- async submitTransaction(elevatedPayloads, additionalPayloads) {
771
- return assertEx(assertEx(await this.activeConnection(), () => "No active connection available for transaction submission").submitTransaction, () => "Active connection does not support transaction submission")(elevatedPayloads, additionalPayloads);
763
+ gateways;
764
+ permissionsProvider;
765
+ constructor(gateways, permissionsProvider) {
766
+ this.gateways = gateways;
767
+ this.permissionsProvider = permissionsProvider;
772
768
  }
773
769
  };
774
770
 
775
- // src/provider/host/JsonRpcXyoGateway.ts
776
- var JsonRpcXyoGateway = class extends AbstractXyoGateway {
771
+ // src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts
772
+ var getPermissionsStoreFromTransport = /* @__PURE__ */ __name((transport) => {
773
+ throw new Error("Not implemented");
774
+ }, "getPermissionsStoreFromTransport");
775
+
776
+ // src/provider/client/PermissionsStore/MemoryPermissionsStore.ts
777
+ var MemoryPermissionsStore = class {
777
778
  static {
778
- __name(this, "JsonRpcXyoGateway");
779
+ __name(this, "MemoryPermissionsStore");
779
780
  }
780
- _transport;
781
- constructor(transport) {
782
- super();
783
- this._transport = transport;
781
+ _store = /* @__PURE__ */ new Map();
782
+ getPermissions() {
783
+ return [
784
+ ...this._store.values()
785
+ ];
786
+ }
787
+ requestPermissions(permissions) {
788
+ const now = Date.now();
789
+ for (const perm of permissions) {
790
+ const key = this.getKey(perm);
791
+ this._store.set(key, {
792
+ ...perm,
793
+ date: now
794
+ });
795
+ }
796
+ return true;
797
+ }
798
+ revokePermissions(permissions) {
799
+ for (const perm of permissions) {
800
+ const key = this.getKey(perm);
801
+ this._store.delete(key);
802
+ }
803
+ return true;
804
+ }
805
+ getKey(permission) {
806
+ return `${permission.invoker}::${permission.capability}`;
807
+ }
808
+ };
809
+
810
+ // src/provider/host/Abstract.ts
811
+ import { assertEx } from "@xylabs/assert";
812
+ var AbstractXyoGateway = class {
813
+ static {
814
+ __name(this, "AbstractXyoGateway");
784
815
  }
785
816
  activeConnection() {
786
- throw new Error("Method not implemented.");
817
+ throw new Error("Deprecated method not implemented.");
787
818
  }
788
- addConnection(_config) {
789
- throw new Error("Method not implemented.");
819
+ addConnection(config) {
820
+ throw new Error("Deprecated method not implemented.");
790
821
  }
791
822
  connections() {
792
- throw new Error("Method not implemented.");
823
+ throw new Error("Deprecated method not implemented.");
793
824
  }
794
825
  getPermissions() {
795
- return this._transport.sendRequest("xyoGateway_getPermissions");
826
+ throw new Error("Deprecated method not implemented.");
796
827
  }
797
828
  requestPermissions(permissions) {
798
- return this._transport.sendRequest("xyoGateway_requestPermissions", permissions);
829
+ throw new Error("Deprecated method not implemented.");
799
830
  }
800
831
  revokePermissions(permissions) {
801
- return this._transport.sendRequest("xyoGateway_revokePermissions", permissions);
832
+ throw new Error("Deprecated method not implemented.");
833
+ }
834
+ async submitTransaction(elevatedPayloads, additionalPayloads) {
835
+ return assertEx(assertEx(await this.connection(), () => "No active connection available for transaction submission").submitTransaction, () => "Active connection does not support transaction submission")(elevatedPayloads, additionalPayloads);
802
836
  }
803
837
  };
804
838
 
805
839
  // src/provider/host/MemoryXyoGateway.ts
806
- import { isDefined } from "@xylabs/typeof";
840
+ var MemoryXyoGateway = class extends AbstractXyoGateway {
841
+ static {
842
+ __name(this, "MemoryXyoGateway");
843
+ }
844
+ _connection;
845
+ _signer;
846
+ constructor(signer, connection) {
847
+ super();
848
+ this._signer = signer;
849
+ this._connection = connection;
850
+ }
851
+ connection() {
852
+ return this._connection;
853
+ }
854
+ signer() {
855
+ return this._signer;
856
+ }
857
+ };
807
858
 
808
- // src/provider/provider/confirmTransaction.ts
859
+ // src/provider/network/MemoryXyoNetwork.ts
860
+ import { isUndefined } from "@xylabs/typeof";
861
+ import { isNetworkStatus } from "@xyo-network/xl1-protocol";
862
+ import axios from "axios";
863
+
864
+ // src/provider/network/lib/FailedNetworkStatusPayloads.ts
865
+ import { NetworkStatusSchema } from "@xyo-network/xl1-protocol";
866
+ var unknownStatus = {
867
+ description: "Unknown Network Status",
868
+ schema: NetworkStatusSchema,
869
+ state: "unknown"
870
+ };
871
+ var errorStatus = {
872
+ description: "Error Fetching Network Status",
873
+ schema: NetworkStatusSchema,
874
+ state: "unknown"
875
+ };
876
+
877
+ // src/provider/network/lib/StatusNetworks.ts
878
+ var MainNetworkStats = {
879
+ id: "mainnet",
880
+ statusUrl: "https://xyo.network/chain-network-status-mainnet.json"
881
+ };
882
+ var SequenceNetworkStats = {
883
+ id: "sequence",
884
+ statusUrl: "https://beta.xyo.network/chain-network-status-sequence.json"
885
+ };
886
+ var LocalNetworkStats = {
887
+ id: "local",
888
+ statusUrl: "http://localhost:3002/chain-network-status-local.json"
889
+ };
890
+ var StatusNetworks = {
891
+ mainnet: MainNetworkStats,
892
+ sequence: SequenceNetworkStats,
893
+ local: LocalNetworkStats
894
+ };
895
+
896
+ // src/provider/network/MemoryXyoNetwork.ts
897
+ var MemoryXyoNetwork = class {
898
+ static {
899
+ __name(this, "MemoryXyoNetwork");
900
+ }
901
+ _networkId;
902
+ constructor(networkId) {
903
+ this._networkId = networkId;
904
+ }
905
+ async status() {
906
+ const statusNetwork = StatusNetworks[this._networkId];
907
+ if (isUndefined(statusNetwork)) {
908
+ throw new Error(`Unknown status network ID: ${this._networkId}`);
909
+ }
910
+ return await this.makeRequest(statusNetwork.statusUrl);
911
+ }
912
+ async makeRequest(url) {
913
+ try {
914
+ const response = await axios.get(url);
915
+ if (isNetworkStatus(response.data)) {
916
+ return response.data;
917
+ } else {
918
+ if (response.status === 200) {
919
+ console.error("Unknown network status response:", response.data);
920
+ return unknownStatus;
921
+ }
922
+ return errorStatus;
923
+ }
924
+ } catch (error) {
925
+ console.error("Error fetching network status:", error);
926
+ return errorStatus;
927
+ }
928
+ }
929
+ };
930
+
931
+ // src/provider/provider/confirmSubmittedTransaction.ts
809
932
  import { delay } from "@xylabs/delay";
933
+ import { isDefined } from "@xylabs/typeof";
810
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";
811
963
  var CONFIRMATION_ATTEMPTS = 20;
812
964
  var DELAY_BETWEEN_ATTEMPTS = 1e3;
813
965
  var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm, onTimeout) => {
814
- const txBWHash = await PayloadBuilder.hash(txBW);
966
+ const txBWHash = await PayloadBuilder2.hash(txBW);
815
967
  console.log("\u2705 confirming transaction:", txBWHash, "\n");
816
968
  let confirmed = false;
817
969
  let attempts = 0;
@@ -829,7 +981,7 @@ var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm
829
981
  return;
830
982
  } else {
831
983
  console.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
832
- await delay(DELAY_BETWEEN_ATTEMPTS);
984
+ await delay2(DELAY_BETWEEN_ATTEMPTS);
833
985
  }
834
986
  }
835
987
  }
@@ -853,7 +1005,7 @@ var JsonRpcXyoRunner = class {
853
1005
 
854
1006
  // src/provider/runner/MemoryXyoRunner.ts
855
1007
  import { MemoryArchivist } from "@xyo-network/archivist-memory";
856
- import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
1008
+ import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
857
1009
  import { flattenHydratedTransaction } from "@xyo-network/xl1-protocol-sdk";
858
1010
  var MemoryXyoRunner = class {
859
1011
  static {
@@ -863,7 +1015,7 @@ var MemoryXyoRunner = class {
863
1015
  async broadcastTransaction(transaction) {
864
1016
  const archivist = await this.getArchivist();
865
1017
  await archivist.insert(flattenHydratedTransaction(transaction));
866
- return await PayloadBuilder2.hash(transaction[0]);
1018
+ return await PayloadBuilder3.hash(transaction[0]);
867
1019
  }
868
1020
  async getArchivist() {
869
1021
  if (!this._archivist) {
@@ -878,7 +1030,7 @@ var MemoryXyoRunner = class {
878
1030
  // src/provider/runner/NodeXyoRunner.ts
879
1031
  import { assertEx as assertEx2 } from "@xylabs/assert";
880
1032
  import { asArchivistInstance } from "@xyo-network/archivist-model";
881
- import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
1033
+ import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
882
1034
  import { PayloadBundleSchema } from "@xyo-network/payload-model";
883
1035
  import { flattenHydratedTransaction as flattenHydratedTransaction2 } from "@xyo-network/xl1-protocol-sdk";
884
1036
  var NodeXyoRunner = class {
@@ -895,7 +1047,7 @@ var NodeXyoRunner = class {
895
1047
  async broadcastTransaction(transaction) {
896
1048
  const flattened = flattenHydratedTransaction2(transaction);
897
1049
  const pendingArchivist = await this.getPendingArchivist();
898
- const txHash = await PayloadBuilder3.hash(transaction[0]);
1050
+ const txHash = await PayloadBuilder4.hash(transaction[0]);
899
1051
  const payloadBundle = {
900
1052
  schema: PayloadBundleSchema,
901
1053
  payloads: flattened,
@@ -1041,7 +1193,7 @@ var JsonRpcXyoViewer = class {
1041
1193
 
1042
1194
  // src/provider/provider/XyoConnection.ts
1043
1195
  import { assertEx as assertEx3 } from "@xylabs/assert";
1044
- import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
1196
+ import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
1045
1197
  import { isAnyPayload } from "@xyo-network/payload-model";
1046
1198
  import { defaultTransactionFees, isDataLakeProvider } from "@xyo-network/xl1-protocol";
1047
1199
  import { HydratedTransactionWrapper } from "@xyo-network/xl1-wrappers";
@@ -1100,8 +1252,8 @@ var XyoConnection = class {
1100
1252
  if (fromResolved === void 0) throw new Error("Failed to determine from address");
1101
1253
  const signedTransaction = assertEx3(await signer.createSignedTransaction(chainResolved, elevatedPayloads, additionalPayloads, nbfResolved, expResolved, feesResolved, fromResolved), () => "Failed to create transaction");
1102
1254
  const hydratedTransaction = [
1103
- await PayloadBuilder4.addStorageMeta(signedTransaction),
1104
- await PayloadBuilder4.addStorageMeta(elevatedPayloads)
1255
+ await PayloadBuilder5.addStorageMeta(signedTransaction),
1256
+ await PayloadBuilder5.addStorageMeta(elevatedPayloads)
1105
1257
  ];
1106
1258
  if (isDataLakeProvider(storage)) {
1107
1259
  const wrapper = await HydratedTransactionWrapper.parse(hydratedTransaction);
@@ -1131,185 +1283,6 @@ var RpcXyoConnection = class extends XyoConnection {
1131
1283
  viewer
1132
1284
  });
1133
1285
  }
1134
- async confirm(tx, onConfirm, onTimeout) {
1135
- return await confirmTransaction(this, tx, onConfirm, onTimeout);
1136
- }
1137
- };
1138
-
1139
- // src/provider/host/MemoryXyoGateway.ts
1140
- var MemoryXyoGateway = class extends AbstractXyoGateway {
1141
- static {
1142
- __name(this, "MemoryXyoGateway");
1143
- }
1144
- _activeConnectionId;
1145
- _connections = /* @__PURE__ */ new Map();
1146
- _permissionsStore;
1147
- _signer;
1148
- constructor(signer, permissionsStore) {
1149
- super();
1150
- this._signer = signer;
1151
- this._permissionsStore = permissionsStore;
1152
- }
1153
- get signer() {
1154
- return this._signer;
1155
- }
1156
- activeConnection() {
1157
- return isDefined(this._activeConnectionId) ? this._connections.get(this._activeConnectionId) : void 0;
1158
- }
1159
- addConnection(configOrName, connection) {
1160
- if (typeof configOrName === "string" && connection !== void 0) {
1161
- const name = configOrName;
1162
- this._connections.set(name, connection);
1163
- this.setActiveConnectionIdIfUndefined(name);
1164
- return connection;
1165
- } else if (typeof configOrName === "object") {
1166
- const config = configOrName;
1167
- const { name, dataLakeEndpoint, networkEndpoint } = config;
1168
- const rpcConnection = new RpcXyoConnection({
1169
- endpoint: networkEndpoint
1170
- });
1171
- this._connections.set(name, rpcConnection);
1172
- this.setActiveConnectionIdIfUndefined(name);
1173
- return rpcConnection;
1174
- }
1175
- throw new Error("Invalid arguments passed to addConnection");
1176
- }
1177
- connections() {
1178
- const record = {};
1179
- for (const [id, conn] of this._connections.entries()) {
1180
- record[id] = conn;
1181
- }
1182
- return record;
1183
- }
1184
- getPermissions() {
1185
- return this._permissionsStore.getPermissions();
1186
- }
1187
- requestPermissions(permissions) {
1188
- return this._permissionsStore.requestPermissions(permissions);
1189
- }
1190
- revokePermissions(permissions) {
1191
- return this._permissionsStore.revokePermissions(permissions);
1192
- }
1193
- setActiveConnectionIdIfUndefined(id) {
1194
- if (!isDefined(this._activeConnectionId)) {
1195
- this._activeConnectionId = id;
1196
- }
1197
- }
1198
- };
1199
-
1200
- // src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts
1201
- var getPermissionsStoreFromTransport = /* @__PURE__ */ __name((transport) => {
1202
- return {
1203
- getPermissions: /* @__PURE__ */ __name(() => transport.sendRequest("xyoGateway_getPermissions"), "getPermissions"),
1204
- requestPermissions: /* @__PURE__ */ __name((permissions) => transport.sendRequest("xyoGateway_requestPermissions", permissions), "requestPermissions"),
1205
- revokePermissions: /* @__PURE__ */ __name((permissions) => transport.sendRequest("xyoGateway_revokePermissions", permissions), "revokePermissions")
1206
- };
1207
- }, "getPermissionsStoreFromTransport");
1208
-
1209
- // src/provider/host/PermissionsStore/MemoryPermissionsStore.ts
1210
- var MemoryPermissionsStore = class {
1211
- static {
1212
- __name(this, "MemoryPermissionsStore");
1213
- }
1214
- _store = /* @__PURE__ */ new Map();
1215
- getPermissions() {
1216
- return [
1217
- ...this._store.values()
1218
- ];
1219
- }
1220
- requestPermissions(permissions) {
1221
- const now = Date.now();
1222
- for (const perm of permissions) {
1223
- const key = this.getKey(perm);
1224
- this._store.set(key, {
1225
- ...perm,
1226
- date: now
1227
- });
1228
- }
1229
- return true;
1230
- }
1231
- revokePermissions(permissions) {
1232
- for (const perm of permissions) {
1233
- const key = this.getKey(perm);
1234
- this._store.delete(key);
1235
- }
1236
- return true;
1237
- }
1238
- getKey(permission) {
1239
- return `${permission.invoker}::${permission.capability}`;
1240
- }
1241
- };
1242
-
1243
- // src/provider/network/MemoryXyoNetwork.ts
1244
- import { isUndefined } from "@xylabs/typeof";
1245
- import { isNetworkStatus } from "@xyo-network/xl1-protocol";
1246
- import axios from "axios";
1247
-
1248
- // src/provider/network/lib/FailedNetworkStatusPayloads.ts
1249
- import { NetworkStatusSchema } from "@xyo-network/xl1-protocol";
1250
- var unknownStatus = {
1251
- description: "Unknown Network Status",
1252
- schema: NetworkStatusSchema,
1253
- state: "unknown"
1254
- };
1255
- var errorStatus = {
1256
- description: "Error Fetching Network Status",
1257
- schema: NetworkStatusSchema,
1258
- state: "unknown"
1259
- };
1260
-
1261
- // src/provider/network/lib/StatusNetworks.ts
1262
- var MainNetworkStats = {
1263
- id: "mainnet",
1264
- statusUrl: "https://xyo.network/chain-network-status-mainnet.json"
1265
- };
1266
- var SequenceNetworkStats = {
1267
- id: "sequence",
1268
- statusUrl: "https://beta.xyo.network/chain-network-status-sequence.json"
1269
- };
1270
- var LocalNetworkStats = {
1271
- id: "local",
1272
- statusUrl: "http://localhost:3002/chain-network-status-local.json"
1273
- };
1274
- var StatusNetworks = {
1275
- mainnet: MainNetworkStats,
1276
- sequence: SequenceNetworkStats,
1277
- local: LocalNetworkStats
1278
- };
1279
-
1280
- // src/provider/network/MemoryXyoNetwork.ts
1281
- var MemoryXyoNetwork = class {
1282
- static {
1283
- __name(this, "MemoryXyoNetwork");
1284
- }
1285
- _networkId;
1286
- constructor(networkId) {
1287
- this._networkId = networkId;
1288
- }
1289
- async status() {
1290
- const statusNetwork = StatusNetworks[this._networkId];
1291
- if (isUndefined(statusNetwork)) {
1292
- throw new Error(`Unknown status network ID: ${this._networkId}`);
1293
- }
1294
- return await this.makeRequest(statusNetwork.statusUrl);
1295
- }
1296
- async makeRequest(url) {
1297
- try {
1298
- const response = await axios.get(url);
1299
- if (isNetworkStatus(response.data)) {
1300
- return response.data;
1301
- } else {
1302
- if (response.status === 200) {
1303
- console.error("Unknown network status response:", response.data);
1304
- return unknownStatus;
1305
- }
1306
- return errorStatus;
1307
- }
1308
- } catch (error) {
1309
- console.error("Error fetching network status:", error);
1310
- return errorStatus;
1311
- }
1312
- }
1313
1286
  };
1314
1287
 
1315
1288
  // src/transport/HttpRpcTransport.ts
@@ -1463,12 +1436,12 @@ export {
1463
1436
  HttpRpcTransport,
1464
1437
  InvokerPermissionSchema,
1465
1438
  JsonRpcErrorCodes,
1466
- JsonRpcXyoGateway,
1467
1439
  JsonRpcXyoRunner,
1468
1440
  JsonRpcXyoSigner,
1469
1441
  JsonRpcXyoViewer,
1470
1442
  MemoryPermissionsStore,
1471
1443
  MemoryRpcTransport,
1444
+ MemoryXyoClient,
1472
1445
  MemoryXyoGateway,
1473
1446
  MemoryXyoNetwork,
1474
1447
  MemoryXyoRunner,
@@ -1485,6 +1458,7 @@ export {
1485
1458
  XyoSignerRpcSchemas,
1486
1459
  XyoViewerRpcSchemas,
1487
1460
  buildSessionMessageRequest,
1461
+ confirmSubmittedTransaction,
1488
1462
  confirmTransaction,
1489
1463
  createRequestSchema,
1490
1464
  createResponseSchema,