@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
@@ -59,57 +59,215 @@ var rpcMethodHandlersFromProvider = /* @__PURE__ */ __name((provider) => {
59
59
  return result;
60
60
  }, "rpcMethodHandlersFromProvider");
61
61
 
62
- // src/provider/host/Abstract.ts
63
- import { assertEx } from "@xylabs/assert";
64
- var AbstractXyoGateway = class {
62
+ // src/provider/client/MemoryXyoClient.ts
63
+ var MemoryXyoClient = class {
65
64
  static {
66
- __name(this, "AbstractXyoGateway");
65
+ __name(this, "MemoryXyoClient");
67
66
  }
68
- async submitTransaction(elevatedPayloads, additionalPayloads) {
69
- return assertEx(assertEx(await this.activeConnection(), () => "No active connection available for transaction submission").submitTransaction, () => "Active connection does not support transaction submission")(elevatedPayloads, additionalPayloads);
67
+ gateways;
68
+ permissionsProvider;
69
+ constructor(gateways, permissionsProvider) {
70
+ this.gateways = gateways;
71
+ this.permissionsProvider = permissionsProvider;
70
72
  }
71
73
  };
72
74
 
73
- // src/provider/host/JsonRpcXyoGateway.ts
74
- var JsonRpcXyoGateway = class extends AbstractXyoGateway {
75
+ // src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts
76
+ var getPermissionsStoreFromTransport = /* @__PURE__ */ __name((transport) => {
77
+ throw new Error("Not implemented");
78
+ }, "getPermissionsStoreFromTransport");
79
+
80
+ // src/provider/client/PermissionsStore/MemoryPermissionsStore.ts
81
+ var MemoryPermissionsStore = class {
75
82
  static {
76
- __name(this, "JsonRpcXyoGateway");
83
+ __name(this, "MemoryPermissionsStore");
77
84
  }
78
- _transport;
79
- constructor(transport) {
80
- super();
81
- this._transport = transport;
85
+ _store = /* @__PURE__ */ new Map();
86
+ getPermissions() {
87
+ return [
88
+ ...this._store.values()
89
+ ];
90
+ }
91
+ requestPermissions(permissions) {
92
+ const now = Date.now();
93
+ for (const perm of permissions) {
94
+ const key = this.getKey(perm);
95
+ this._store.set(key, {
96
+ ...perm,
97
+ date: now
98
+ });
99
+ }
100
+ return true;
101
+ }
102
+ revokePermissions(permissions) {
103
+ for (const perm of permissions) {
104
+ const key = this.getKey(perm);
105
+ this._store.delete(key);
106
+ }
107
+ return true;
108
+ }
109
+ getKey(permission) {
110
+ return `${permission.invoker}::${permission.capability}`;
111
+ }
112
+ };
113
+
114
+ // src/provider/host/Abstract.ts
115
+ import { assertEx } from "@xylabs/assert";
116
+ var AbstractXyoGateway = class {
117
+ static {
118
+ __name(this, "AbstractXyoGateway");
82
119
  }
83
120
  activeConnection() {
84
- throw new Error("Method not implemented.");
121
+ throw new Error("Deprecated method not implemented.");
85
122
  }
86
- addConnection(_config) {
87
- throw new Error("Method not implemented.");
123
+ addConnection(config) {
124
+ throw new Error("Deprecated method not implemented.");
88
125
  }
89
126
  connections() {
90
- throw new Error("Method not implemented.");
127
+ throw new Error("Deprecated method not implemented.");
91
128
  }
92
129
  getPermissions() {
93
- return this._transport.sendRequest("xyoGateway_getPermissions");
130
+ throw new Error("Deprecated method not implemented.");
94
131
  }
95
132
  requestPermissions(permissions) {
96
- return this._transport.sendRequest("xyoGateway_requestPermissions", permissions);
133
+ throw new Error("Deprecated method not implemented.");
97
134
  }
98
135
  revokePermissions(permissions) {
99
- return this._transport.sendRequest("xyoGateway_revokePermissions", permissions);
136
+ throw new Error("Deprecated method not implemented.");
137
+ }
138
+ async submitTransaction(elevatedPayloads, additionalPayloads) {
139
+ return assertEx(assertEx(await this.connection(), () => "No active connection available for transaction submission").submitTransaction, () => "Active connection does not support transaction submission")(elevatedPayloads, additionalPayloads);
100
140
  }
101
141
  };
102
142
 
103
143
  // src/provider/host/MemoryXyoGateway.ts
104
- import { isDefined as isDefined2 } from "@xylabs/typeof";
144
+ var MemoryXyoGateway = class extends AbstractXyoGateway {
145
+ static {
146
+ __name(this, "MemoryXyoGateway");
147
+ }
148
+ _connection;
149
+ _signer;
150
+ constructor(signer, connection) {
151
+ super();
152
+ this._signer = signer;
153
+ this._connection = connection;
154
+ }
155
+ connection() {
156
+ return this._connection;
157
+ }
158
+ signer() {
159
+ return this._signer;
160
+ }
161
+ };
105
162
 
106
- // src/provider/provider/confirmTransaction.ts
163
+ // src/provider/network/MemoryXyoNetwork.ts
164
+ import { isUndefined } from "@xylabs/typeof";
165
+ import { isNetworkStatus } from "@xyo-network/xl1-protocol";
166
+ import axios from "axios";
167
+
168
+ // src/provider/network/lib/FailedNetworkStatusPayloads.ts
169
+ import { NetworkStatusSchema } from "@xyo-network/xl1-protocol";
170
+ var unknownStatus = {
171
+ description: "Unknown Network Status",
172
+ schema: NetworkStatusSchema,
173
+ state: "unknown"
174
+ };
175
+ var errorStatus = {
176
+ description: "Error Fetching Network Status",
177
+ schema: NetworkStatusSchema,
178
+ state: "unknown"
179
+ };
180
+
181
+ // src/provider/network/lib/StatusNetworks.ts
182
+ var MainNetworkStats = {
183
+ id: "mainnet",
184
+ statusUrl: "https://xyo.network/chain-network-status-mainnet.json"
185
+ };
186
+ var SequenceNetworkStats = {
187
+ id: "sequence",
188
+ statusUrl: "https://beta.xyo.network/chain-network-status-sequence.json"
189
+ };
190
+ var LocalNetworkStats = {
191
+ id: "local",
192
+ statusUrl: "http://localhost:3002/chain-network-status-local.json"
193
+ };
194
+ var StatusNetworks = {
195
+ mainnet: MainNetworkStats,
196
+ sequence: SequenceNetworkStats,
197
+ local: LocalNetworkStats
198
+ };
199
+
200
+ // src/provider/network/MemoryXyoNetwork.ts
201
+ var MemoryXyoNetwork = class {
202
+ static {
203
+ __name(this, "MemoryXyoNetwork");
204
+ }
205
+ _networkId;
206
+ constructor(networkId) {
207
+ this._networkId = networkId;
208
+ }
209
+ async status() {
210
+ const statusNetwork = StatusNetworks[this._networkId];
211
+ if (isUndefined(statusNetwork)) {
212
+ throw new Error(`Unknown status network ID: ${this._networkId}`);
213
+ }
214
+ return await this.makeRequest(statusNetwork.statusUrl);
215
+ }
216
+ async makeRequest(url) {
217
+ try {
218
+ const response = await axios.get(url);
219
+ if (isNetworkStatus(response.data)) {
220
+ return response.data;
221
+ } else {
222
+ if (response.status === 200) {
223
+ console.error("Unknown network status response:", response.data);
224
+ return unknownStatus;
225
+ }
226
+ return errorStatus;
227
+ }
228
+ } catch (error) {
229
+ console.error("Error fetching network status:", error);
230
+ return errorStatus;
231
+ }
232
+ }
233
+ };
234
+
235
+ // src/provider/provider/confirmSubmittedTransaction.ts
107
236
  import { delay } from "@xylabs/delay";
237
+ import { isDefined } from "@xylabs/typeof";
108
238
  import { PayloadBuilder } from "@xyo-network/payload-builder";
239
+ var DEFAULT_CONFIRMATION_ATTEMPTS = 20;
240
+ var DEFAULT_DELAY_BETWEEN_ATTEMPTS = 1e3;
241
+ var confirmSubmittedTransaction = /* @__PURE__ */ __name(async (provider, txBW, options) => {
242
+ const { attempts: maxAttempts = DEFAULT_CONFIRMATION_ATTEMPTS, delay: attemptDelay = DEFAULT_DELAY_BETWEEN_ATTEMPTS } = options || {};
243
+ const txBWHash = await PayloadBuilder.hash(txBW);
244
+ options?.logger?.log("\u2705 confirming transaction:", txBWHash, "\n");
245
+ let attempts = 0;
246
+ while (true) {
247
+ const tx = await provider.viewer?.transactionByHash(txBWHash) ?? void 0;
248
+ if (isDefined(tx)) {
249
+ options?.logger?.log("\u{1F37B} Transaction confirmed:", txBWHash, "\n");
250
+ return tx;
251
+ } else {
252
+ attempts++;
253
+ if (attempts > maxAttempts) {
254
+ options?.logger?.error(`\u26A0\uFE0F Transaction not confirmed after ${maxAttempts} attempts`);
255
+ throw new Error(`Transaction ${txBWHash} not confirmed after ${maxAttempts} attempts`);
256
+ } else {
257
+ options?.logger?.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
258
+ await delay(attemptDelay);
259
+ }
260
+ }
261
+ }
262
+ }, "confirmSubmittedTransaction");
263
+
264
+ // src/provider/provider/confirmTransaction.ts
265
+ import { delay as delay2 } from "@xylabs/delay";
266
+ import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
109
267
  var CONFIRMATION_ATTEMPTS = 20;
110
268
  var DELAY_BETWEEN_ATTEMPTS = 1e3;
111
269
  var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm, onTimeout) => {
112
- const txBWHash = await PayloadBuilder.hash(txBW);
270
+ const txBWHash = await PayloadBuilder2.hash(txBW);
113
271
  console.log("\u2705 confirming transaction:", txBWHash, "\n");
114
272
  let confirmed = false;
115
273
  let attempts = 0;
@@ -127,7 +285,7 @@ var confirmTransaction = /* @__PURE__ */ __name(async (provider, txBW, onConfirm
127
285
  return;
128
286
  } else {
129
287
  console.log(`\u{1F504} Transaction not confirmed yet, attempt ${attempts}. Retrying...`, "\n");
130
- await delay(DELAY_BETWEEN_ATTEMPTS);
288
+ await delay2(DELAY_BETWEEN_ATTEMPTS);
131
289
  }
132
290
  }
133
291
  }
@@ -718,74 +876,68 @@ var InvokerPermissionSchema = PermissionSchema.extend({
718
876
  date: z20.number().optional()
719
877
  });
720
878
  var XyoGatewayRpcSchemas = {
879
+ /*
721
880
  xyoGateway_addConnection: {
722
881
  params: {
723
- to: z20.tuple([
724
- ChainConnectionSchema
725
- ]),
726
- from: z20.tuple([
727
- ChainConnectionSchema
728
- ])
882
+ to: z.tuple([ChainConnectionSchema]),
883
+ from: z.tuple([ChainConnectionSchema]),
729
884
  },
730
885
  result: {
731
- to: z20.tuple([
732
- z20.boolean()
733
- ]),
734
- from: z20.tuple([
735
- z20.boolean()
736
- ])
737
- }
886
+ to: z.tuple([z.boolean()]),
887
+ from: z.tuple([z.boolean()]),
888
+ },
738
889
  },
739
890
  xyoGateway_connections: {
740
891
  params: {
741
- to: z20.array(z20.any()).length(0).optional(),
742
- from: z20.array(z20.any()).length(0).optional()
892
+ to: z.array(z.any()).length(0).optional(),
893
+ from: z.array(z.any()).length(0).optional(),
743
894
  },
744
895
  result: {
745
- to: z20.array(ChainConnectionSchema),
746
- from: z20.array(ChainConnectionSchema)
747
- }
896
+ to: z.array(ChainConnectionSchema),
897
+ from: z.array(ChainConnectionSchema),
898
+ },
748
899
  },
749
900
  xyoGateway_getPermissions: {
750
901
  params: {
751
- to: z20.array(z20.any()).length(0).optional(),
752
- from: z20.array(z20.any()).length(0).optional()
902
+ to: z.array(z.any()).length(0).optional(),
903
+ from: z.array(z.any()).length(0).optional(),
753
904
  },
754
905
  result: {
755
- to: z20.array(InvokerPermissionSchema),
756
- from: z20.array(InvokerPermissionSchema)
757
- }
906
+ to: z.array(InvokerPermissionSchema),
907
+ from: z.array(InvokerPermissionSchema),
908
+ },
758
909
  },
759
910
  xyoGateway_requestPermissions: {
760
911
  params: {
761
- to: z20.array(PermissionSchema),
762
- from: z20.array(PermissionSchema)
912
+ to: z.array(PermissionSchema),
913
+ from: z.array(PermissionSchema),
763
914
  },
764
915
  result: {
765
- to: z20.boolean(),
766
- from: z20.boolean()
767
- }
916
+ to: z.boolean(),
917
+ from: z.boolean(),
918
+ },
768
919
  },
769
920
  xyoGateway_revokePermissions: {
770
921
  params: {
771
- to: z20.array(PermissionSchema),
772
- from: z20.array(PermissionSchema)
922
+ to: z.array(PermissionSchema),
923
+ from: z.array(PermissionSchema),
773
924
  },
774
925
  result: {
775
- to: z20.boolean(),
776
- from: z20.boolean()
777
- }
926
+ to: z.boolean(),
927
+ from: z.boolean(),
928
+ },
778
929
  },
779
930
  xyoGateway_activeConnection: {
780
931
  params: {
781
- from: z20.never(),
782
- to: z20.never()
932
+ from: z.never(),
933
+ to: z.never(),
783
934
  },
784
935
  result: {
785
- from: z20.string().optional(),
786
- to: z20.string().optional()
787
- }
936
+ from: z.string().optional(),
937
+ to: z.string().optional(),
938
+ },
788
939
  },
940
+ */
789
941
  xyoGateway_submitTransaction: {
790
942
  params: {
791
943
  from: z20.array(HydratedTransactionSchema),
@@ -883,7 +1035,7 @@ var MemoryRpcTransport = class {
883
1035
  };
884
1036
 
885
1037
  // src/transport/post-message/PostMessageRpcTransport.ts
886
- import { isDefined } from "@xylabs/typeof";
1038
+ import { isDefined as isDefined2 } from "@xylabs/typeof";
887
1039
  import { v4 as v43 } from "uuid";
888
1040
 
889
1041
  // src/transport/post-message/helpers.ts
@@ -922,7 +1074,7 @@ var PostMessageRpcTransport = class {
922
1074
  id,
923
1075
  method
924
1076
  };
925
- body.params = isDefined(params) && isDefined(schemas[method]) ? schemas[method].params.to.parse(params) : params;
1077
+ body.params = isDefined2(params) && isDefined2(schemas[method]) ? schemas[method].params.to.parse(params) : params;
926
1078
  return await new Promise((resolve, reject) => {
927
1079
  const id2 = body.id;
928
1080
  const handler = /* @__PURE__ */ __name((event) => {
@@ -959,7 +1111,7 @@ var JsonRpcXyoRunner = class {
959
1111
 
960
1112
  // src/provider/runner/MemoryXyoRunner.ts
961
1113
  import { MemoryArchivist } from "@xyo-network/archivist-memory";
962
- import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
1114
+ import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
963
1115
  import { flattenHydratedTransaction } from "@xyo-network/xl1-protocol-sdk";
964
1116
  var MemoryXyoRunner = class {
965
1117
  static {
@@ -969,7 +1121,7 @@ var MemoryXyoRunner = class {
969
1121
  async broadcastTransaction(transaction) {
970
1122
  const archivist = await this.getArchivist();
971
1123
  await archivist.insert(flattenHydratedTransaction(transaction));
972
- return await PayloadBuilder2.hash(transaction[0]);
1124
+ return await PayloadBuilder3.hash(transaction[0]);
973
1125
  }
974
1126
  async getArchivist() {
975
1127
  if (!this._archivist) {
@@ -984,7 +1136,7 @@ var MemoryXyoRunner = class {
984
1136
  // src/provider/runner/NodeXyoRunner.ts
985
1137
  import { assertEx as assertEx2 } from "@xylabs/assert";
986
1138
  import { asArchivistInstance } from "@xyo-network/archivist-model";
987
- import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
1139
+ import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
988
1140
  import { PayloadBundleSchema } from "@xyo-network/payload-model";
989
1141
  import { flattenHydratedTransaction as flattenHydratedTransaction2 } from "@xyo-network/xl1-protocol-sdk";
990
1142
  var NodeXyoRunner = class {
@@ -1001,7 +1153,7 @@ var NodeXyoRunner = class {
1001
1153
  async broadcastTransaction(transaction) {
1002
1154
  const flattened = flattenHydratedTransaction2(transaction);
1003
1155
  const pendingArchivist = await this.getPendingArchivist();
1004
- const txHash = await PayloadBuilder3.hash(transaction[0]);
1156
+ const txHash = await PayloadBuilder4.hash(transaction[0]);
1005
1157
  const payloadBundle = {
1006
1158
  schema: PayloadBundleSchema,
1007
1159
  payloads: flattened,
@@ -1147,7 +1299,7 @@ var JsonRpcXyoViewer = class {
1147
1299
 
1148
1300
  // src/provider/provider/XyoConnection.ts
1149
1301
  import { assertEx as assertEx3 } from "@xylabs/assert";
1150
- import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
1302
+ import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
1151
1303
  import { isAnyPayload } from "@xyo-network/payload-model";
1152
1304
  import { defaultTransactionFees, isDataLakeProvider } from "@xyo-network/xl1-protocol";
1153
1305
  import { HydratedTransactionWrapper } from "@xyo-network/xl1-wrappers";
@@ -1206,8 +1358,8 @@ var XyoConnection = class {
1206
1358
  if (fromResolved === void 0) throw new Error("Failed to determine from address");
1207
1359
  const signedTransaction = assertEx3(await signer.createSignedTransaction(chainResolved, elevatedPayloads, additionalPayloads, nbfResolved, expResolved, feesResolved, fromResolved), () => "Failed to create transaction");
1208
1360
  const hydratedTransaction = [
1209
- await PayloadBuilder4.addStorageMeta(signedTransaction),
1210
- await PayloadBuilder4.addStorageMeta(elevatedPayloads)
1361
+ await PayloadBuilder5.addStorageMeta(signedTransaction),
1362
+ await PayloadBuilder5.addStorageMeta(elevatedPayloads)
1211
1363
  ];
1212
1364
  if (isDataLakeProvider(storage)) {
1213
1365
  const wrapper = await HydratedTransactionWrapper.parse(hydratedTransaction);
@@ -1237,185 +1389,6 @@ var RpcXyoConnection = class extends XyoConnection {
1237
1389
  viewer
1238
1390
  });
1239
1391
  }
1240
- async confirm(tx, onConfirm, onTimeout) {
1241
- return await confirmTransaction(this, tx, onConfirm, onTimeout);
1242
- }
1243
- };
1244
-
1245
- // src/provider/host/MemoryXyoGateway.ts
1246
- var MemoryXyoGateway = class extends AbstractXyoGateway {
1247
- static {
1248
- __name(this, "MemoryXyoGateway");
1249
- }
1250
- _activeConnectionId;
1251
- _connections = /* @__PURE__ */ new Map();
1252
- _permissionsStore;
1253
- _signer;
1254
- constructor(signer, permissionsStore) {
1255
- super();
1256
- this._signer = signer;
1257
- this._permissionsStore = permissionsStore;
1258
- }
1259
- get signer() {
1260
- return this._signer;
1261
- }
1262
- activeConnection() {
1263
- return isDefined2(this._activeConnectionId) ? this._connections.get(this._activeConnectionId) : void 0;
1264
- }
1265
- addConnection(configOrName, connection) {
1266
- if (typeof configOrName === "string" && connection !== void 0) {
1267
- const name = configOrName;
1268
- this._connections.set(name, connection);
1269
- this.setActiveConnectionIdIfUndefined(name);
1270
- return connection;
1271
- } else if (typeof configOrName === "object") {
1272
- const config = configOrName;
1273
- const { name, dataLakeEndpoint, networkEndpoint } = config;
1274
- const rpcConnection = new RpcXyoConnection({
1275
- endpoint: networkEndpoint
1276
- });
1277
- this._connections.set(name, rpcConnection);
1278
- this.setActiveConnectionIdIfUndefined(name);
1279
- return rpcConnection;
1280
- }
1281
- throw new Error("Invalid arguments passed to addConnection");
1282
- }
1283
- connections() {
1284
- const record = {};
1285
- for (const [id, conn] of this._connections.entries()) {
1286
- record[id] = conn;
1287
- }
1288
- return record;
1289
- }
1290
- getPermissions() {
1291
- return this._permissionsStore.getPermissions();
1292
- }
1293
- requestPermissions(permissions) {
1294
- return this._permissionsStore.requestPermissions(permissions);
1295
- }
1296
- revokePermissions(permissions) {
1297
- return this._permissionsStore.revokePermissions(permissions);
1298
- }
1299
- setActiveConnectionIdIfUndefined(id) {
1300
- if (!isDefined2(this._activeConnectionId)) {
1301
- this._activeConnectionId = id;
1302
- }
1303
- }
1304
- };
1305
-
1306
- // src/provider/host/PermissionsStore/getPermissionsStoreFromTransport.ts
1307
- var getPermissionsStoreFromTransport = /* @__PURE__ */ __name((transport) => {
1308
- return {
1309
- getPermissions: /* @__PURE__ */ __name(() => transport.sendRequest("xyoGateway_getPermissions"), "getPermissions"),
1310
- requestPermissions: /* @__PURE__ */ __name((permissions) => transport.sendRequest("xyoGateway_requestPermissions", permissions), "requestPermissions"),
1311
- revokePermissions: /* @__PURE__ */ __name((permissions) => transport.sendRequest("xyoGateway_revokePermissions", permissions), "revokePermissions")
1312
- };
1313
- }, "getPermissionsStoreFromTransport");
1314
-
1315
- // src/provider/host/PermissionsStore/MemoryPermissionsStore.ts
1316
- var MemoryPermissionsStore = class {
1317
- static {
1318
- __name(this, "MemoryPermissionsStore");
1319
- }
1320
- _store = /* @__PURE__ */ new Map();
1321
- getPermissions() {
1322
- return [
1323
- ...this._store.values()
1324
- ];
1325
- }
1326
- requestPermissions(permissions) {
1327
- const now = Date.now();
1328
- for (const perm of permissions) {
1329
- const key = this.getKey(perm);
1330
- this._store.set(key, {
1331
- ...perm,
1332
- date: now
1333
- });
1334
- }
1335
- return true;
1336
- }
1337
- revokePermissions(permissions) {
1338
- for (const perm of permissions) {
1339
- const key = this.getKey(perm);
1340
- this._store.delete(key);
1341
- }
1342
- return true;
1343
- }
1344
- getKey(permission) {
1345
- return `${permission.invoker}::${permission.capability}`;
1346
- }
1347
- };
1348
-
1349
- // src/provider/network/MemoryXyoNetwork.ts
1350
- import { isUndefined } from "@xylabs/typeof";
1351
- import { isNetworkStatus } from "@xyo-network/xl1-protocol";
1352
- import axios from "axios";
1353
-
1354
- // src/provider/network/lib/FailedNetworkStatusPayloads.ts
1355
- import { NetworkStatusSchema } from "@xyo-network/xl1-protocol";
1356
- var unknownStatus = {
1357
- description: "Unknown Network Status",
1358
- schema: NetworkStatusSchema,
1359
- state: "unknown"
1360
- };
1361
- var errorStatus = {
1362
- description: "Error Fetching Network Status",
1363
- schema: NetworkStatusSchema,
1364
- state: "unknown"
1365
- };
1366
-
1367
- // src/provider/network/lib/StatusNetworks.ts
1368
- var MainNetworkStats = {
1369
- id: "mainnet",
1370
- statusUrl: "https://xyo.network/chain-network-status-mainnet.json"
1371
- };
1372
- var SequenceNetworkStats = {
1373
- id: "sequence",
1374
- statusUrl: "https://beta.xyo.network/chain-network-status-sequence.json"
1375
- };
1376
- var LocalNetworkStats = {
1377
- id: "local",
1378
- statusUrl: "http://localhost:3002/chain-network-status-local.json"
1379
- };
1380
- var StatusNetworks = {
1381
- mainnet: MainNetworkStats,
1382
- sequence: SequenceNetworkStats,
1383
- local: LocalNetworkStats
1384
- };
1385
-
1386
- // src/provider/network/MemoryXyoNetwork.ts
1387
- var MemoryXyoNetwork = class {
1388
- static {
1389
- __name(this, "MemoryXyoNetwork");
1390
- }
1391
- _networkId;
1392
- constructor(networkId) {
1393
- this._networkId = networkId;
1394
- }
1395
- async status() {
1396
- const statusNetwork = StatusNetworks[this._networkId];
1397
- if (isUndefined(statusNetwork)) {
1398
- throw new Error(`Unknown status network ID: ${this._networkId}`);
1399
- }
1400
- return await this.makeRequest(statusNetwork.statusUrl);
1401
- }
1402
- async makeRequest(url) {
1403
- try {
1404
- const response = await axios.get(url);
1405
- if (isNetworkStatus(response.data)) {
1406
- return response.data;
1407
- } else {
1408
- if (response.status === 200) {
1409
- console.error("Unknown network status response:", response.data);
1410
- return unknownStatus;
1411
- }
1412
- return errorStatus;
1413
- }
1414
- } catch (error) {
1415
- console.error("Error fetching network status:", error);
1416
- return errorStatus;
1417
- }
1418
- }
1419
1392
  };
1420
1393
  export {
1421
1394
  AbstractXyoGateway,
@@ -1426,12 +1399,12 @@ export {
1426
1399
  HttpRpcTransport,
1427
1400
  InvokerPermissionSchema,
1428
1401
  JsonRpcErrorCodes,
1429
- JsonRpcXyoGateway,
1430
1402
  JsonRpcXyoRunner,
1431
1403
  JsonRpcXyoSigner,
1432
1404
  JsonRpcXyoViewer,
1433
1405
  MemoryPermissionsStore,
1434
1406
  MemoryRpcTransport,
1407
+ MemoryXyoClient,
1435
1408
  MemoryXyoGateway,
1436
1409
  MemoryXyoNetwork,
1437
1410
  MemoryXyoRunner,
@@ -1448,6 +1421,7 @@ export {
1448
1421
  XyoSignerRpcSchemas,
1449
1422
  XyoViewerRpcSchemas,
1450
1423
  buildSessionMessageRequest,
1424
+ confirmSubmittedTransaction,
1451
1425
  confirmTransaction,
1452
1426
  createRequestSchema,
1453
1427
  createResponseSchema,