@xyo-network/xl1-rpc 1.9.0 → 1.10.1
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 +519 -501
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/provider/client/MemoryXyoClient.d.ts +2 -2
- package/dist/neutral/provider/client/MemoryXyoClient.d.ts.map +1 -1
- package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts +1 -1
- package/dist/neutral/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -1
- package/dist/neutral/provider/{provider → connection}/HttpRpcXyoConnection.d.ts +2 -0
- package/dist/neutral/provider/connection/HttpRpcXyoConnection.d.ts.map +1 -0
- package/dist/neutral/provider/{provider → connection}/XyoConnection.d.ts +4 -2
- package/dist/neutral/provider/connection/XyoConnection.d.ts.map +1 -0
- package/dist/neutral/provider/connection/index.d.ts.map +1 -0
- package/dist/neutral/provider/connection/spec/XyoConnection.d.ts.map +1 -0
- package/dist/neutral/provider/datalake/AbstractXyoDataLake.d.ts +10 -0
- package/dist/neutral/provider/datalake/AbstractXyoDataLake.d.ts.map +1 -0
- package/dist/neutral/provider/datalake/ArchivistXyoDataLake.d.ts +11 -0
- package/dist/neutral/provider/datalake/ArchivistXyoDataLake.d.ts.map +1 -0
- package/dist/neutral/provider/datalake/HttpXyoDataLake.d.ts +20 -0
- package/dist/neutral/provider/datalake/HttpXyoDataLake.d.ts.map +1 -0
- package/dist/neutral/provider/datalake/index.d.ts +4 -0
- package/dist/neutral/provider/datalake/index.d.ts.map +1 -0
- package/dist/neutral/provider/gateway/Abstract.d.ts +13 -0
- package/dist/neutral/provider/gateway/Abstract.d.ts.map +1 -0
- package/dist/neutral/provider/gateway/MemoryXyoGateway.d.ts.map +1 -0
- package/dist/neutral/provider/gateway/index.d.ts.map +1 -0
- package/dist/neutral/provider/gateway/spec/MemoryXyoGateway.spec.d.ts.map +1 -0
- package/dist/neutral/provider/index.d.ts +3 -2
- package/dist/neutral/provider/index.d.ts.map +1 -1
- package/dist/neutral/provider/network/MemoryXyoNetwork.d.ts +3 -3
- package/dist/neutral/provider/network/MemoryXyoNetwork.d.ts.map +1 -1
- package/dist/neutral/provider/network/lib/StatusNetworks.d.ts +3 -3
- package/dist/neutral/provider/network/lib/StatusNetworks.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts +15 -0
- package/dist/neutral/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -0
- package/dist/neutral/transport/post-message/index.d.ts +1 -1
- package/dist/neutral/transport/post-message/index.d.ts.map +1 -1
- package/dist/neutral/transport/post-message/resolveData.d.ts +13 -0
- package/dist/neutral/transport/post-message/resolveData.d.ts.map +1 -0
- package/dist/neutral/types/XyoGatewayRpc.d.ts +1 -1
- package/dist/neutral/types/XyoGatewayRpc.d.ts.map +1 -1
- package/dist/node/index-node.mjs +550 -530
- package/dist/node/index-node.mjs.map +1 -1
- package/dist/node/provider/client/MemoryXyoClient.d.ts +2 -2
- package/dist/node/provider/client/MemoryXyoClient.d.ts.map +1 -1
- package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts +1 -1
- package/dist/node/provider/client/PermissionsStore/getPermissionsStoreFromTransport.d.ts.map +1 -1
- package/dist/node/provider/{provider → connection}/HttpRpcXyoConnection.d.ts +2 -0
- package/dist/node/provider/connection/HttpRpcXyoConnection.d.ts.map +1 -0
- package/dist/node/provider/{provider → connection}/XyoConnection.d.ts +4 -2
- package/dist/node/provider/connection/XyoConnection.d.ts.map +1 -0
- package/dist/node/provider/connection/index.d.ts.map +1 -0
- package/dist/node/provider/connection/spec/XyoConnection.d.ts.map +1 -0
- package/dist/node/provider/datalake/AbstractXyoDataLake.d.ts +10 -0
- package/dist/node/provider/datalake/AbstractXyoDataLake.d.ts.map +1 -0
- package/dist/node/provider/datalake/ArchivistXyoDataLake.d.ts +11 -0
- package/dist/node/provider/datalake/ArchivistXyoDataLake.d.ts.map +1 -0
- package/dist/node/provider/datalake/HttpXyoDataLake.d.ts +20 -0
- package/dist/node/provider/datalake/HttpXyoDataLake.d.ts.map +1 -0
- package/dist/node/provider/datalake/index.d.ts +4 -0
- package/dist/node/provider/datalake/index.d.ts.map +1 -0
- package/dist/node/provider/gateway/Abstract.d.ts +13 -0
- package/dist/node/provider/gateway/Abstract.d.ts.map +1 -0
- package/dist/node/provider/gateway/MemoryXyoGateway.d.ts.map +1 -0
- package/dist/node/provider/gateway/index.d.ts.map +1 -0
- package/dist/node/provider/gateway/spec/MemoryXyoGateway.spec.d.ts.map +1 -0
- package/dist/node/provider/index.d.ts +3 -2
- package/dist/node/provider/index.d.ts.map +1 -1
- package/dist/node/provider/network/MemoryXyoNetwork.d.ts +3 -3
- package/dist/node/provider/network/MemoryXyoNetwork.d.ts.map +1 -1
- package/dist/node/provider/network/lib/StatusNetworks.d.ts +3 -3
- package/dist/node/provider/network/lib/StatusNetworks.d.ts.map +1 -1
- package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts +15 -0
- package/dist/node/transport/post-message/LegacyPostMessageRpcTransport.d.ts.map +1 -0
- package/dist/node/transport/post-message/index.d.ts +1 -1
- package/dist/node/transport/post-message/index.d.ts.map +1 -1
- package/dist/node/transport/post-message/resolveData.d.ts +13 -0
- package/dist/node/transport/post-message/resolveData.d.ts.map +1 -0
- package/dist/node/types/XyoGatewayRpc.d.ts +1 -1
- package/dist/node/types/XyoGatewayRpc.d.ts.map +1 -1
- package/package.json +37 -36
- package/src/provider/client/MemoryXyoClient.ts +3 -3
- package/src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts +1 -1
- package/src/provider/client/spec/MemoryXyoClient.spec.ts +17 -10
- package/src/provider/{provider → connection}/HttpRpcXyoConnection.ts +10 -3
- package/src/provider/{provider → connection}/XyoConnection.ts +7 -2
- package/src/provider/{provider → connection}/spec/XyoConnection.ts +1 -0
- package/src/provider/datalake/AbstractXyoDataLake.ts +38 -0
- package/src/provider/datalake/ArchivistXyoDataLake.ts +26 -0
- package/src/provider/datalake/HttpXyoDataLake.ts +105 -0
- package/src/provider/datalake/index.ts +3 -0
- package/src/provider/gateway/Abstract.ts +47 -0
- package/src/provider/{host → gateway}/spec/MemoryXyoGateway.spec.ts +7 -3
- package/src/provider/index.ts +3 -2
- package/src/provider/network/MemoryXyoNetwork.ts +4 -3
- package/src/provider/network/lib/StatusNetworks.ts +9 -9
- package/src/provider/signer/spec/RpcEngineXyoSigner.spec.ts +2 -1
- package/src/transport/post-message/LegacyPostMessageRpcTransport.ts +117 -0
- package/src/transport/post-message/helpers.ts +1 -1
- package/src/transport/post-message/index.ts +1 -1
- package/src/transport/post-message/resolveData.ts +30 -0
- package/src/types/XyoGatewayRpc.ts +2 -2
- package/src/types/global.d.ts +1 -1
- package/dist/neutral/provider/host/Abstract.d.ts +0 -15
- package/dist/neutral/provider/host/Abstract.d.ts.map +0 -1
- package/dist/neutral/provider/host/MemoryXyoGateway.d.ts.map +0 -1
- package/dist/neutral/provider/host/index.d.ts.map +0 -1
- package/dist/neutral/provider/host/spec/MemoryXyoGateway.spec.d.ts.map +0 -1
- package/dist/neutral/provider/provider/HttpRpcXyoConnection.d.ts.map +0 -1
- package/dist/neutral/provider/provider/XyoConnection.d.ts.map +0 -1
- package/dist/neutral/provider/provider/index.d.ts.map +0 -1
- package/dist/neutral/provider/provider/spec/XyoConnection.d.ts.map +0 -1
- package/dist/neutral/transport/post-message/PostMessageRpcTransport.d.ts +0 -12
- package/dist/neutral/transport/post-message/PostMessageRpcTransport.d.ts.map +0 -1
- package/dist/node/provider/host/Abstract.d.ts +0 -15
- package/dist/node/provider/host/Abstract.d.ts.map +0 -1
- package/dist/node/provider/host/MemoryXyoGateway.d.ts.map +0 -1
- package/dist/node/provider/host/index.d.ts.map +0 -1
- package/dist/node/provider/host/spec/MemoryXyoGateway.spec.d.ts.map +0 -1
- package/dist/node/provider/provider/HttpRpcXyoConnection.d.ts.map +0 -1
- package/dist/node/provider/provider/XyoConnection.d.ts.map +0 -1
- package/dist/node/provider/provider/index.d.ts.map +0 -1
- package/dist/node/provider/provider/spec/XyoConnection.d.ts.map +0 -1
- package/dist/node/transport/post-message/PostMessageRpcTransport.d.ts +0 -12
- package/dist/node/transport/post-message/PostMessageRpcTransport.d.ts.map +0 -1
- package/src/provider/host/Abstract.ts +0 -42
- package/src/transport/post-message/PostMessageRpcTransport.ts +0 -73
- /package/dist/neutral/provider/{provider → connection}/index.d.ts +0 -0
- /package/dist/neutral/provider/{provider → connection}/spec/XyoConnection.d.ts +0 -0
- /package/dist/neutral/provider/{host → gateway}/MemoryXyoGateway.d.ts +0 -0
- /package/dist/neutral/provider/{host → gateway}/index.d.ts +0 -0
- /package/dist/neutral/provider/{host → gateway}/spec/MemoryXyoGateway.spec.d.ts +0 -0
- /package/dist/node/provider/{provider → connection}/index.d.ts +0 -0
- /package/dist/node/provider/{provider → connection}/spec/XyoConnection.d.ts +0 -0
- /package/dist/node/provider/{host → gateway}/MemoryXyoGateway.d.ts +0 -0
- /package/dist/node/provider/{host → gateway}/index.d.ts +0 -0
- /package/dist/node/provider/{host → gateway}/spec/MemoryXyoGateway.spec.d.ts +0 -0
- /package/src/provider/{provider → connection}/index.ts +0 -0
- /package/src/provider/{host → gateway}/MemoryXyoGateway.ts +0 -0
- /package/src/provider/{host → gateway}/index.ts +0 -0
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,101 +1,78 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/engine/requestSchemas.ts
|
|
5
2
|
var requestSchemas = {};
|
|
6
3
|
|
|
7
4
|
// src/engine/rpcMethodHandlersFromRunner.ts
|
|
8
|
-
var rpcMethodHandlersFromRunner =
|
|
9
|
-
return {
|
|
10
|
-
|
|
11
|
-
};
|
|
12
|
-
}, "rpcMethodHandlersFromRunner");
|
|
5
|
+
var rpcMethodHandlersFromRunner = (runner) => {
|
|
6
|
+
return { xyoRunner_broadcastTransaction: (params) => runner.broadcastTransaction(...params ?? []) };
|
|
7
|
+
};
|
|
13
8
|
|
|
14
9
|
// src/engine/rpcMethodHandlersFromSigner.ts
|
|
15
|
-
var rpcMethodHandlersFromSigner =
|
|
10
|
+
var rpcMethodHandlersFromSigner = (signer) => {
|
|
16
11
|
return {
|
|
17
|
-
xyoSigner_address:
|
|
18
|
-
xyoSigner_createSignedTransaction:
|
|
19
|
-
xyoSigner_signTransaction:
|
|
12
|
+
xyoSigner_address: (params) => signer.address(...params ?? []),
|
|
13
|
+
xyoSigner_createSignedTransaction: (params) => signer.createSignedTransaction(...params ?? []),
|
|
14
|
+
xyoSigner_signTransaction: (params) => signer.signTransaction(...params ?? [])
|
|
20
15
|
};
|
|
21
|
-
}
|
|
16
|
+
};
|
|
22
17
|
|
|
23
18
|
// src/engine/rpcMethodHandlersFromViewer.ts
|
|
24
|
-
var rpcMethodHandlersFromViewer =
|
|
19
|
+
var rpcMethodHandlersFromViewer = (viewer) => {
|
|
25
20
|
return {
|
|
26
|
-
xyoViewer_accountBalance:
|
|
27
|
-
xyoViewer_accountHistory:
|
|
28
|
-
xyoViewer_blockByHash:
|
|
29
|
-
xyoViewer_blockByNumber:
|
|
30
|
-
xyoViewer_blocksByHash:
|
|
31
|
-
xyoViewer_chainId:
|
|
32
|
-
xyoViewer_currentBlock:
|
|
33
|
-
xyoViewer_currentBlockHash:
|
|
34
|
-
xyoViewer_currentBlockNumber:
|
|
35
|
-
xyoViewer_transactionByBlockHashAndIndex:
|
|
36
|
-
xyoViewer_transactionByBlockNumberAndIndex:
|
|
37
|
-
xyoViewer_transactionByHash:
|
|
21
|
+
xyoViewer_accountBalance: (params) => viewer.accountBalance(...params ?? []),
|
|
22
|
+
xyoViewer_accountHistory: (params) => viewer.accountHistory(...params ?? []),
|
|
23
|
+
xyoViewer_blockByHash: (params) => viewer.blockByHash(...params ?? []),
|
|
24
|
+
xyoViewer_blockByNumber: (params) => viewer.blockByNumber(...params ?? []),
|
|
25
|
+
xyoViewer_blocksByHash: (params) => viewer.blocksByHash(...params ?? []),
|
|
26
|
+
xyoViewer_chainId: (params) => viewer.chainId(...params ?? []),
|
|
27
|
+
xyoViewer_currentBlock: (params) => viewer.currentBlock(...params ?? []),
|
|
28
|
+
xyoViewer_currentBlockHash: (params) => viewer.currentBlockHash(...params ?? []),
|
|
29
|
+
xyoViewer_currentBlockNumber: (params) => viewer.currentBlockNumber(...params ?? []),
|
|
30
|
+
xyoViewer_transactionByBlockHashAndIndex: (params) => viewer.transactionByBlockHashAndIndex(...params ?? []),
|
|
31
|
+
xyoViewer_transactionByBlockNumberAndIndex: (params) => viewer.transactionByBlockNumberAndIndex(...params ?? []),
|
|
32
|
+
xyoViewer_transactionByHash: (params) => viewer.transactionByHash(...params ?? [])
|
|
38
33
|
};
|
|
39
|
-
}
|
|
34
|
+
};
|
|
40
35
|
|
|
41
36
|
// src/engine/rpcMethodHandlersFromProvider.ts
|
|
42
|
-
var rpcMethodHandlersFromProvider =
|
|
43
|
-
const {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
};
|
|
51
|
-
if (
|
|
52
|
-
...result,
|
|
53
|
-
...rpcMethodHandlersFromSigner(signer)
|
|
54
|
-
};
|
|
55
|
-
if (viewer) result = {
|
|
56
|
-
...result,
|
|
57
|
-
...rpcMethodHandlersFromViewer(viewer)
|
|
58
|
-
};
|
|
37
|
+
var rpcMethodHandlersFromProvider = (provider) => {
|
|
38
|
+
const {
|
|
39
|
+
runner,
|
|
40
|
+
signer,
|
|
41
|
+
viewer
|
|
42
|
+
} = provider;
|
|
43
|
+
let result = { xyoProvider_send: (params) => provider.send(...params ?? []) };
|
|
44
|
+
if (runner) result = { ...result, ...rpcMethodHandlersFromRunner(runner) };
|
|
45
|
+
if (signer) result = { ...result, ...rpcMethodHandlersFromSigner(signer) };
|
|
46
|
+
if (viewer) result = { ...result, ...rpcMethodHandlersFromViewer(viewer) };
|
|
59
47
|
return result;
|
|
60
|
-
}
|
|
48
|
+
};
|
|
61
49
|
|
|
62
50
|
// src/provider/client/MemoryXyoClient.ts
|
|
63
51
|
var MemoryXyoClient = class {
|
|
64
|
-
static {
|
|
65
|
-
__name(this, "MemoryXyoClient");
|
|
66
|
-
}
|
|
67
52
|
gateways;
|
|
68
|
-
|
|
69
|
-
constructor(gateways,
|
|
53
|
+
permissions;
|
|
54
|
+
constructor(gateways, permissions) {
|
|
70
55
|
this.gateways = gateways;
|
|
71
|
-
this.
|
|
56
|
+
this.permissions = permissions;
|
|
72
57
|
}
|
|
73
58
|
};
|
|
74
59
|
|
|
75
60
|
// src/provider/client/PermissionsStore/getPermissionsStoreFromTransport.ts
|
|
76
|
-
var getPermissionsStoreFromTransport =
|
|
61
|
+
var getPermissionsStoreFromTransport = (_transport) => {
|
|
77
62
|
throw new Error("Not implemented");
|
|
78
|
-
}
|
|
63
|
+
};
|
|
79
64
|
|
|
80
65
|
// src/provider/client/PermissionsStore/MemoryPermissionsStore.ts
|
|
81
66
|
var MemoryPermissionsStore = class {
|
|
82
|
-
static {
|
|
83
|
-
__name(this, "MemoryPermissionsStore");
|
|
84
|
-
}
|
|
85
67
|
_store = /* @__PURE__ */ new Map();
|
|
86
68
|
getPermissions() {
|
|
87
|
-
return [
|
|
88
|
-
...this._store.values()
|
|
89
|
-
];
|
|
69
|
+
return [...this._store.values()];
|
|
90
70
|
}
|
|
91
71
|
requestPermissions(permissions) {
|
|
92
72
|
const now = Date.now();
|
|
93
73
|
for (const perm of permissions) {
|
|
94
74
|
const key = this.getKey(perm);
|
|
95
|
-
this._store.set(key, {
|
|
96
|
-
...perm,
|
|
97
|
-
date: now
|
|
98
|
-
});
|
|
75
|
+
this._store.set(key, { ...perm, date: now });
|
|
99
76
|
}
|
|
100
77
|
return true;
|
|
101
78
|
}
|
|
@@ -111,132 +88,9 @@ var MemoryPermissionsStore = class {
|
|
|
111
88
|
}
|
|
112
89
|
};
|
|
113
90
|
|
|
114
|
-
// src/provider/
|
|
115
|
-
import {
|
|
116
|
-
|
|
117
|
-
static {
|
|
118
|
-
__name(this, "AbstractXyoGateway");
|
|
119
|
-
}
|
|
120
|
-
activeConnection() {
|
|
121
|
-
throw new Error("Deprecated method not implemented.");
|
|
122
|
-
}
|
|
123
|
-
addConnection(_config) {
|
|
124
|
-
throw new Error("Deprecated method not implemented.");
|
|
125
|
-
}
|
|
126
|
-
connections() {
|
|
127
|
-
throw new Error("Deprecated method not implemented.");
|
|
128
|
-
}
|
|
129
|
-
getPermissions() {
|
|
130
|
-
throw new Error("Deprecated method not implemented.");
|
|
131
|
-
}
|
|
132
|
-
requestPermissions(_permissions) {
|
|
133
|
-
throw new Error("Deprecated method not implemented.");
|
|
134
|
-
}
|
|
135
|
-
revokePermissions(_permissions) {
|
|
136
|
-
throw new Error("Deprecated method not implemented.");
|
|
137
|
-
}
|
|
138
|
-
async submitTransaction(elevatedPayloads, additionalPayloads) {
|
|
139
|
-
const connection = await this.connection();
|
|
140
|
-
assertEx(connection.submitTransaction, () => "Active connection does not support transaction submission");
|
|
141
|
-
const tx = await connection.submitTransaction?.(elevatedPayloads, additionalPayloads);
|
|
142
|
-
return assertEx(tx, () => "Transaction submission failed");
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
// src/provider/host/MemoryXyoGateway.ts
|
|
147
|
-
var MemoryXyoGateway = class extends AbstractXyoGateway {
|
|
148
|
-
static {
|
|
149
|
-
__name(this, "MemoryXyoGateway");
|
|
150
|
-
}
|
|
151
|
-
_connection;
|
|
152
|
-
_signer;
|
|
153
|
-
constructor(signer, connection) {
|
|
154
|
-
super();
|
|
155
|
-
this._signer = signer;
|
|
156
|
-
this._connection = connection;
|
|
157
|
-
}
|
|
158
|
-
connection() {
|
|
159
|
-
return this._connection;
|
|
160
|
-
}
|
|
161
|
-
signer() {
|
|
162
|
-
return this._signer;
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
// src/provider/network/MemoryXyoNetwork.ts
|
|
167
|
-
import { isUndefined } from "@xylabs/typeof";
|
|
168
|
-
import { isNetworkStatus } from "@xyo-network/xl1-protocol";
|
|
169
|
-
import axios from "axios";
|
|
170
|
-
|
|
171
|
-
// src/provider/network/lib/FailedNetworkStatusPayloads.ts
|
|
172
|
-
import { NetworkStatusSchema } from "@xyo-network/xl1-protocol";
|
|
173
|
-
var unknownStatus = {
|
|
174
|
-
description: "Unknown Network Status",
|
|
175
|
-
schema: NetworkStatusSchema,
|
|
176
|
-
state: "unknown"
|
|
177
|
-
};
|
|
178
|
-
var errorStatus = {
|
|
179
|
-
description: "Error Fetching Network Status",
|
|
180
|
-
schema: NetworkStatusSchema,
|
|
181
|
-
state: "unknown"
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
// src/provider/network/lib/StatusNetworks.ts
|
|
185
|
-
var MainNetworkStats = {
|
|
186
|
-
id: "mainnet",
|
|
187
|
-
statusUrl: "https://xyo.network/chain-network-status-mainnet.json"
|
|
188
|
-
};
|
|
189
|
-
var SequenceNetworkStats = {
|
|
190
|
-
id: "sequence",
|
|
191
|
-
statusUrl: "https://beta.xyo.network/chain-network-status-sequence.json"
|
|
192
|
-
};
|
|
193
|
-
var LocalNetworkStats = {
|
|
194
|
-
id: "local",
|
|
195
|
-
statusUrl: "http://localhost:3002/chain-network-status-local.json"
|
|
196
|
-
};
|
|
197
|
-
var StatusNetworks = {
|
|
198
|
-
mainnet: MainNetworkStats,
|
|
199
|
-
sequence: SequenceNetworkStats,
|
|
200
|
-
local: LocalNetworkStats
|
|
201
|
-
};
|
|
202
|
-
|
|
203
|
-
// src/provider/network/MemoryXyoNetwork.ts
|
|
204
|
-
var MemoryXyoNetwork = class {
|
|
205
|
-
static {
|
|
206
|
-
__name(this, "MemoryXyoNetwork");
|
|
207
|
-
}
|
|
208
|
-
_networkId;
|
|
209
|
-
constructor(networkId) {
|
|
210
|
-
this._networkId = networkId;
|
|
211
|
-
}
|
|
212
|
-
async status() {
|
|
213
|
-
const statusNetwork = StatusNetworks[this._networkId];
|
|
214
|
-
if (isUndefined(statusNetwork)) {
|
|
215
|
-
throw new Error(`Unknown status network ID: ${this._networkId}`);
|
|
216
|
-
}
|
|
217
|
-
return await this.makeRequest(statusNetwork.statusUrl);
|
|
218
|
-
}
|
|
219
|
-
async makeRequest(url) {
|
|
220
|
-
try {
|
|
221
|
-
const response = await axios.get(url);
|
|
222
|
-
if (isNetworkStatus(response.data)) {
|
|
223
|
-
return response.data;
|
|
224
|
-
} else {
|
|
225
|
-
if (response.status === 200) {
|
|
226
|
-
console.error("Unknown network status response:", response.data);
|
|
227
|
-
return unknownStatus;
|
|
228
|
-
}
|
|
229
|
-
return errorStatus;
|
|
230
|
-
}
|
|
231
|
-
} catch (error) {
|
|
232
|
-
console.error("Error fetching network status:", error);
|
|
233
|
-
return errorStatus;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
};
|
|
237
|
-
|
|
238
|
-
// src/provider/provider/HttpRpcXyoConnection.ts
|
|
239
|
-
import { isDefined as isDefined2 } from "@xylabs/typeof";
|
|
91
|
+
// src/provider/connection/HttpRpcXyoConnection.ts
|
|
92
|
+
import { isDefined as isDefined3, isString } from "@xylabs/typeof";
|
|
93
|
+
import { isDataLakeProvider as isDataLakeProvider2 } from "@xyo-network/xl1-protocol";
|
|
240
94
|
|
|
241
95
|
// src/transport/HttpRpcTransport.ts
|
|
242
96
|
import { AxiosJson } from "@xylabs/axios";
|
|
@@ -246,22 +100,10 @@ import { v4 } from "uuid";
|
|
|
246
100
|
|
|
247
101
|
// src/types/ErrorCodes.ts
|
|
248
102
|
var JsonRpcErrorCodes = {
|
|
249
|
-
InternalError: {
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
}
|
|
253
|
-
InvalidParams: {
|
|
254
|
-
code: -32602,
|
|
255
|
-
message: "Invalid method parameter(s)."
|
|
256
|
-
},
|
|
257
|
-
InvalidRequest: {
|
|
258
|
-
code: -32600,
|
|
259
|
-
message: "The JSON sent is not a valid Request object."
|
|
260
|
-
},
|
|
261
|
-
MethodNotFound: {
|
|
262
|
-
code: -32601,
|
|
263
|
-
message: "The method does not exist or is not available."
|
|
264
|
-
}
|
|
103
|
+
InternalError: { code: -32603, message: "Internal JSON-RPC error (unexpected exception)." },
|
|
104
|
+
InvalidParams: { code: -32602, message: "Invalid method parameter(s)." },
|
|
105
|
+
InvalidRequest: { code: -32600, message: "The JSON sent is not a valid Request object." },
|
|
106
|
+
MethodNotFound: { code: -32601, message: "The method does not exist or is not available." }
|
|
265
107
|
};
|
|
266
108
|
|
|
267
109
|
// src/types/JsonRpc.ts
|
|
@@ -279,7 +121,11 @@ var AddressToStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx)
|
|
|
279
121
|
var AddressFromStringSchema = z.string().toLowerCase().regex(CompiledAddressRegEx).transform((v) => toAddress(v));
|
|
280
122
|
|
|
281
123
|
// src/types/schema/common/BigIntSchema.ts
|
|
282
|
-
import {
|
|
124
|
+
import {
|
|
125
|
+
asHex,
|
|
126
|
+
hexToBigInt,
|
|
127
|
+
toHex
|
|
128
|
+
} from "@xylabs/hex";
|
|
283
129
|
import { HexRegEx } from "@xyo-network/payload-wrapper";
|
|
284
130
|
import { z as z2 } from "zod";
|
|
285
131
|
var CompiledHexRegEx = new RegExp(HexRegEx);
|
|
@@ -324,14 +170,8 @@ var LocalSequenceFromStringSchema = z5.string().regex(LocalSequenceRegex).transf
|
|
|
324
170
|
var QualifiedSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.qualifiedSequenceBytes, SequenceConstants.qualifiedSequenceBytes));
|
|
325
171
|
var QualifiedSequenceToStringSchema = z5.string().regex(QualifiedSequenceRegex);
|
|
326
172
|
var QualifiedSequenceFromStringSchema = z5.string().regex(QualifiedSequenceRegex).transform((v) => toHex3(v));
|
|
327
|
-
var SequenceToStringSchema = z5.union([
|
|
328
|
-
|
|
329
|
-
QualifiedSequenceToStringSchema
|
|
330
|
-
]);
|
|
331
|
-
var SequenceFromStringSchema = z5.union([
|
|
332
|
-
LocalSequenceFromStringSchema,
|
|
333
|
-
QualifiedSequenceFromStringSchema
|
|
334
|
-
]);
|
|
173
|
+
var SequenceToStringSchema = z5.union([LocalSequenceToStringSchema, QualifiedSequenceToStringSchema]);
|
|
174
|
+
var SequenceFromStringSchema = z5.union([LocalSequenceFromStringSchema, QualifiedSequenceFromStringSchema]);
|
|
335
175
|
|
|
336
176
|
// src/types/schema/common/StorageMetaSchema.ts
|
|
337
177
|
var StorageMetaSchema = z6.object({
|
|
@@ -341,9 +181,7 @@ var StorageMetaSchema = z6.object({
|
|
|
341
181
|
});
|
|
342
182
|
|
|
343
183
|
// src/types/schema/common/PayloadSchema.ts
|
|
344
|
-
var PayloadSchema = z7.object({
|
|
345
|
-
schema: z7.string()
|
|
346
|
-
}).passthrough();
|
|
184
|
+
var PayloadSchema = z7.object({ schema: z7.string() }).passthrough();
|
|
347
185
|
var PayloadWithStorageMetaSchema = PayloadSchema.extend(StorageMetaSchema.shape).passthrough();
|
|
348
186
|
|
|
349
187
|
// src/types/schema/common/BoundWitnessSchema.ts
|
|
@@ -358,18 +196,14 @@ var BoundWitnessMetaSchema = z8.object({
|
|
|
358
196
|
$destination: AddressToStringSchema.optional(),
|
|
359
197
|
$sourceQuery: HashToStringSchema.optional()
|
|
360
198
|
});
|
|
361
|
-
var UnsignedBoundWitnessSchema = PayloadSchema.extend({
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
}).passthrough();
|
|
370
|
-
var SignedBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema.extend({
|
|
371
|
-
$signatures: z8.array(HexToStringSchema)
|
|
372
|
-
}).passthrough();
|
|
199
|
+
var UnsignedBoundWitnessSchema = PayloadSchema.extend({ schema: z8.literal(BoundWitnessSchema) }).merge(BoundWitnessRequiredFieldsSchema).merge(BoundWitnessMetaSchema).passthrough();
|
|
200
|
+
var UnsignedBoundWitnessWithStorageMetaSchema = PayloadWithStorageMetaSchema.extend({ schema: z8.literal(BoundWitnessSchema) }).merge(BoundWitnessRequiredFieldsSchema).merge(BoundWitnessMetaSchema).passthrough();
|
|
201
|
+
var SignedBoundWitnessSchema = UnsignedBoundWitnessSchema.extend(
|
|
202
|
+
{ $signatures: z8.array(HexToStringSchema) }
|
|
203
|
+
).passthrough();
|
|
204
|
+
var SignedBoundWitnessWithStorageMetaSchema = UnsignedBoundWitnessWithStorageMetaSchema.extend(
|
|
205
|
+
{ $signatures: z8.array(HexToStringSchema) }
|
|
206
|
+
).passthrough();
|
|
373
207
|
|
|
374
208
|
// src/types/schema/common/BlockBoundWitnessSchema.ts
|
|
375
209
|
var BlockNumberSchema = z9.number().int().nonnegative();
|
|
@@ -409,16 +243,9 @@ import { z as z12 } from "zod";
|
|
|
409
243
|
|
|
410
244
|
// src/types/schema/common/TransactionBoundWitnessSchema.ts
|
|
411
245
|
import z11 from "zod";
|
|
412
|
-
var BlockStartSchema = z11.object({
|
|
413
|
-
|
|
414
|
-
});
|
|
415
|
-
var BlockEndSchema = z11.object({
|
|
416
|
-
exp: BlockNumberSchema
|
|
417
|
-
});
|
|
418
|
-
var BlockDurationSchema = z11.object({
|
|
419
|
-
nbf: BlockNumberSchema,
|
|
420
|
-
exp: BlockNumberSchema
|
|
421
|
-
});
|
|
246
|
+
var BlockStartSchema = z11.object({ nbf: BlockNumberSchema });
|
|
247
|
+
var BlockEndSchema = z11.object({ exp: BlockNumberSchema });
|
|
248
|
+
var BlockDurationSchema = z11.object({ nbf: BlockNumberSchema, exp: BlockNumberSchema });
|
|
422
249
|
var TransactionFeesSchema = z11.object({
|
|
423
250
|
fees: z11.object({
|
|
424
251
|
base: HexToStringSchema,
|
|
@@ -427,9 +254,7 @@ var TransactionFeesSchema = z11.object({
|
|
|
427
254
|
priority: HexToStringSchema
|
|
428
255
|
})
|
|
429
256
|
});
|
|
430
|
-
var TransactionBoundWitnessFields = z11.object({
|
|
431
|
-
chain: AddressToStringSchema
|
|
432
|
-
});
|
|
257
|
+
var TransactionBoundWitnessFields = z11.object({ chain: AddressToStringSchema });
|
|
433
258
|
var TransactionBoundWitnessSchema = UnsignedBoundWitnessSchema.merge(BlockDurationSchema).merge(TransactionFeesSchema).merge(TransactionBoundWitnessFields).passthrough();
|
|
434
259
|
var SignedTransactionBoundWitnessSchema = SignedBoundWitnessSchema.merge(BlockDurationSchema).merge(TransactionFeesSchema).merge(TransactionBoundWitnessFields).passthrough();
|
|
435
260
|
|
|
@@ -493,12 +318,8 @@ import { z as z15 } from "zod";
|
|
|
493
318
|
var XyoRunnerRpcSchemas = {
|
|
494
319
|
xyoRunner_broadcastTransaction: {
|
|
495
320
|
params: {
|
|
496
|
-
to: z15.tuple([
|
|
497
|
-
|
|
498
|
-
]),
|
|
499
|
-
from: z15.tuple([
|
|
500
|
-
SignedHydratedTransactionSchema
|
|
501
|
-
])
|
|
321
|
+
to: z15.tuple([SignedHydratedTransactionSchema]),
|
|
322
|
+
from: z15.tuple([SignedHydratedTransactionSchema])
|
|
502
323
|
},
|
|
503
324
|
result: {
|
|
504
325
|
to: HashToStringSchema,
|
|
@@ -548,12 +369,8 @@ var XyoSignerRpcSchemas = {
|
|
|
548
369
|
},
|
|
549
370
|
xyoSigner_signTransaction: {
|
|
550
371
|
params: {
|
|
551
|
-
to: z16.tuple([
|
|
552
|
-
|
|
553
|
-
]),
|
|
554
|
-
from: z16.tuple([
|
|
555
|
-
HydratedTransactionSchema
|
|
556
|
-
])
|
|
372
|
+
to: z16.tuple([HydratedTransactionSchema]),
|
|
373
|
+
from: z16.tuple([HydratedTransactionSchema])
|
|
557
374
|
},
|
|
558
375
|
result: {
|
|
559
376
|
to: SignedHydratedTransactionSchema,
|
|
@@ -568,32 +385,14 @@ var XyoViewerRpcSchemas = {
|
|
|
568
385
|
xyoViewer_accountBalance: {
|
|
569
386
|
params: {
|
|
570
387
|
to: z17.union([
|
|
571
|
-
z17.tuple([
|
|
572
|
-
|
|
573
|
-
])
|
|
574
|
-
z17.tuple([
|
|
575
|
-
AddressToStringSchema,
|
|
576
|
-
z17.number()
|
|
577
|
-
]),
|
|
578
|
-
z17.tuple([
|
|
579
|
-
AddressToStringSchema,
|
|
580
|
-
z17.number(),
|
|
581
|
-
z17.boolean()
|
|
582
|
-
])
|
|
388
|
+
z17.tuple([AddressToStringSchema]),
|
|
389
|
+
z17.tuple([AddressToStringSchema, z17.number()]),
|
|
390
|
+
z17.tuple([AddressToStringSchema, z17.number(), z17.boolean()])
|
|
583
391
|
]),
|
|
584
392
|
from: z17.union([
|
|
585
|
-
z17.tuple([
|
|
586
|
-
|
|
587
|
-
])
|
|
588
|
-
z17.tuple([
|
|
589
|
-
AddressToStringSchema,
|
|
590
|
-
z17.number()
|
|
591
|
-
]),
|
|
592
|
-
z17.tuple([
|
|
593
|
-
AddressToStringSchema,
|
|
594
|
-
z17.number(),
|
|
595
|
-
z17.boolean()
|
|
596
|
-
])
|
|
393
|
+
z17.tuple([AddressToStringSchema]),
|
|
394
|
+
z17.tuple([AddressToStringSchema, z17.number()]),
|
|
395
|
+
z17.tuple([AddressToStringSchema, z17.number(), z17.boolean()])
|
|
597
396
|
])
|
|
598
397
|
},
|
|
599
398
|
result: {
|
|
@@ -604,32 +403,14 @@ var XyoViewerRpcSchemas = {
|
|
|
604
403
|
xyoViewer_accountHistory: {
|
|
605
404
|
params: {
|
|
606
405
|
to: z17.union([
|
|
607
|
-
z17.tuple([
|
|
608
|
-
|
|
609
|
-
])
|
|
610
|
-
z17.tuple([
|
|
611
|
-
AddressToStringSchema,
|
|
612
|
-
z17.number()
|
|
613
|
-
]),
|
|
614
|
-
z17.tuple([
|
|
615
|
-
AddressToStringSchema,
|
|
616
|
-
z17.number(),
|
|
617
|
-
z17.boolean()
|
|
618
|
-
])
|
|
406
|
+
z17.tuple([AddressToStringSchema]),
|
|
407
|
+
z17.tuple([AddressToStringSchema, z17.number()]),
|
|
408
|
+
z17.tuple([AddressToStringSchema, z17.number(), z17.boolean()])
|
|
619
409
|
]),
|
|
620
410
|
from: z17.union([
|
|
621
|
-
z17.tuple([
|
|
622
|
-
|
|
623
|
-
])
|
|
624
|
-
z17.tuple([
|
|
625
|
-
AddressToStringSchema,
|
|
626
|
-
z17.number()
|
|
627
|
-
]),
|
|
628
|
-
z17.tuple([
|
|
629
|
-
AddressToStringSchema,
|
|
630
|
-
z17.number(),
|
|
631
|
-
z17.boolean()
|
|
632
|
-
])
|
|
411
|
+
z17.tuple([AddressToStringSchema]),
|
|
412
|
+
z17.tuple([AddressToStringSchema, z17.number()]),
|
|
413
|
+
z17.tuple([AddressToStringSchema, z17.number(), z17.boolean()])
|
|
633
414
|
])
|
|
634
415
|
},
|
|
635
416
|
result: {
|
|
@@ -639,12 +420,8 @@ var XyoViewerRpcSchemas = {
|
|
|
639
420
|
},
|
|
640
421
|
xyoViewer_blockByHash: {
|
|
641
422
|
params: {
|
|
642
|
-
to: z17.tuple([
|
|
643
|
-
|
|
644
|
-
]),
|
|
645
|
-
from: z17.tuple([
|
|
646
|
-
HashFromStringSchema
|
|
647
|
-
])
|
|
423
|
+
to: z17.tuple([HashToStringSchema]),
|
|
424
|
+
from: z17.tuple([HashFromStringSchema])
|
|
648
425
|
},
|
|
649
426
|
result: {
|
|
650
427
|
to: SignedHydratedBlockSchema,
|
|
@@ -653,12 +430,8 @@ var XyoViewerRpcSchemas = {
|
|
|
653
430
|
},
|
|
654
431
|
xyoViewer_blockByNumber: {
|
|
655
432
|
params: {
|
|
656
|
-
to: z17.tuple([
|
|
657
|
-
|
|
658
|
-
]),
|
|
659
|
-
from: z17.tuple([
|
|
660
|
-
z17.number()
|
|
661
|
-
])
|
|
433
|
+
to: z17.tuple([z17.number()]),
|
|
434
|
+
from: z17.tuple([z17.number()])
|
|
662
435
|
},
|
|
663
436
|
result: {
|
|
664
437
|
to: SignedHydratedBlockSchema,
|
|
@@ -667,14 +440,8 @@ var XyoViewerRpcSchemas = {
|
|
|
667
440
|
},
|
|
668
441
|
xyoViewer_blocksByHash: {
|
|
669
442
|
params: {
|
|
670
|
-
to: z17.tuple([
|
|
671
|
-
|
|
672
|
-
z17.number().optional()
|
|
673
|
-
]),
|
|
674
|
-
from: z17.tuple([
|
|
675
|
-
HashFromStringSchema,
|
|
676
|
-
z17.number().optional()
|
|
677
|
-
])
|
|
443
|
+
to: z17.tuple([HashToStringSchema, z17.number().optional()]),
|
|
444
|
+
from: z17.tuple([HashFromStringSchema, z17.number().optional()])
|
|
678
445
|
},
|
|
679
446
|
result: {
|
|
680
447
|
to: z17.array(SignedHydratedBlockSchema),
|
|
@@ -723,14 +490,8 @@ var XyoViewerRpcSchemas = {
|
|
|
723
490
|
},
|
|
724
491
|
xyoViewer_transactionByBlockHashAndIndex: {
|
|
725
492
|
params: {
|
|
726
|
-
to: z17.tuple([
|
|
727
|
-
|
|
728
|
-
z17.number()
|
|
729
|
-
]),
|
|
730
|
-
from: z17.tuple([
|
|
731
|
-
HashFromStringSchema,
|
|
732
|
-
z17.number()
|
|
733
|
-
])
|
|
493
|
+
to: z17.tuple([HashToStringSchema, z17.number()]),
|
|
494
|
+
from: z17.tuple([HashFromStringSchema, z17.number()])
|
|
734
495
|
},
|
|
735
496
|
result: {
|
|
736
497
|
to: SignedHydratedTransactionSchema.nullable(),
|
|
@@ -739,14 +500,8 @@ var XyoViewerRpcSchemas = {
|
|
|
739
500
|
},
|
|
740
501
|
xyoViewer_transactionByBlockNumberAndIndex: {
|
|
741
502
|
params: {
|
|
742
|
-
to: z17.tuple([
|
|
743
|
-
|
|
744
|
-
z17.number()
|
|
745
|
-
]),
|
|
746
|
-
from: z17.tuple([
|
|
747
|
-
z17.number(),
|
|
748
|
-
z17.number()
|
|
749
|
-
])
|
|
503
|
+
to: z17.tuple([z17.number(), z17.number()]),
|
|
504
|
+
from: z17.tuple([z17.number(), z17.number()])
|
|
750
505
|
},
|
|
751
506
|
result: {
|
|
752
507
|
to: SignedHydratedTransactionSchema.nullable(),
|
|
@@ -755,12 +510,8 @@ var XyoViewerRpcSchemas = {
|
|
|
755
510
|
},
|
|
756
511
|
xyoViewer_transactionByHash: {
|
|
757
512
|
params: {
|
|
758
|
-
to: z17.tuple([
|
|
759
|
-
|
|
760
|
-
]),
|
|
761
|
-
from: z17.tuple([
|
|
762
|
-
HashFromStringSchema
|
|
763
|
-
])
|
|
513
|
+
to: z17.tuple([HashToStringSchema]),
|
|
514
|
+
from: z17.tuple([HashFromStringSchema])
|
|
764
515
|
},
|
|
765
516
|
result: {
|
|
766
517
|
to: SignedHydratedTransactionSchema.nullable(),
|
|
@@ -779,55 +530,40 @@ var AllRpcSchemas = {
|
|
|
779
530
|
|
|
780
531
|
// src/types/schema/createRequestSchema.ts
|
|
781
532
|
import { z as z18 } from "zod";
|
|
782
|
-
var createRequestSchema =
|
|
783
|
-
id: z18.union([
|
|
784
|
-
z18.string(),
|
|
785
|
-
z18.number()
|
|
786
|
-
]),
|
|
533
|
+
var createRequestSchema = (methodName, paramsSchema = z18.undefined()) => z18.object({
|
|
534
|
+
id: z18.union([z18.string(), z18.number()]),
|
|
787
535
|
jsonrpc: z18.literal(jsonrpc),
|
|
788
536
|
method: z18.literal(methodName),
|
|
789
537
|
params: paramsSchema
|
|
790
|
-
})
|
|
538
|
+
});
|
|
791
539
|
|
|
792
540
|
// src/types/schema/createResponseSchema.ts
|
|
793
541
|
import { z as z19 } from "zod";
|
|
794
|
-
var createResponseSchema =
|
|
795
|
-
id: z19.union([
|
|
796
|
-
z19.string(),
|
|
797
|
-
z19.number()
|
|
798
|
-
]),
|
|
542
|
+
var createResponseSchema = (resultSchema = z19.undefined()) => z19.object({
|
|
543
|
+
id: z19.union([z19.string(), z19.number()]),
|
|
799
544
|
jsonrpc: z19.literal(jsonrpc),
|
|
800
545
|
result: resultSchema
|
|
801
|
-
})
|
|
546
|
+
});
|
|
802
547
|
|
|
803
548
|
// src/types/schema/XyoGatewayRpcSchemas.ts
|
|
804
549
|
import { z as z20 } from "zod";
|
|
805
550
|
var ChainConnectionSchema = z20.object({
|
|
806
|
-
chainId: z20.union([
|
|
807
|
-
z20.string(),
|
|
808
|
-
z20.custom()
|
|
809
|
-
]).optional(),
|
|
551
|
+
chainId: z20.union([z20.string(), z20.custom()]).optional(),
|
|
810
552
|
name: z20.string(),
|
|
811
553
|
url: z20.string()
|
|
812
554
|
});
|
|
813
|
-
var CaveatTypesSchema = z20.enum([
|
|
814
|
-
"chain",
|
|
815
|
-
"expiration",
|
|
816
|
-
"filteredResponse",
|
|
817
|
-
"rateLimit"
|
|
818
|
-
]);
|
|
555
|
+
var CaveatTypesSchema = z20.enum(["chain", "expiration", "filteredResponse", "rateLimit"]);
|
|
819
556
|
var CaveatsSchema = z20.object({
|
|
820
557
|
type: CaveatTypesSchema,
|
|
821
558
|
value: z20.unknown()
|
|
559
|
+
// JsonValue is usually unknown, adjust if you have a stricter type
|
|
822
560
|
});
|
|
823
561
|
var PermissionSchema = z20.object({
|
|
824
562
|
capability: z20.string(),
|
|
825
563
|
caveats: CaveatsSchema.array().optional(),
|
|
826
564
|
invoker: z20.string()
|
|
827
565
|
});
|
|
828
|
-
var InvokerPermissionSchema = PermissionSchema.extend({
|
|
829
|
-
date: z20.number().optional()
|
|
830
|
-
});
|
|
566
|
+
var InvokerPermissionSchema = PermissionSchema.extend({ date: z20.number().optional() });
|
|
831
567
|
var XyoGatewayRpcSchemas = {
|
|
832
568
|
/*
|
|
833
569
|
xyoGateway_addConnection: {
|
|
@@ -893,8 +629,12 @@ var XyoGatewayRpcSchemas = {
|
|
|
893
629
|
*/
|
|
894
630
|
xyoGateway_submitTransaction: {
|
|
895
631
|
params: {
|
|
896
|
-
from: z20.array(
|
|
897
|
-
|
|
632
|
+
from: z20.array(
|
|
633
|
+
HydratedTransactionSchema
|
|
634
|
+
),
|
|
635
|
+
to: z20.array(
|
|
636
|
+
HydratedTransactionSchema
|
|
637
|
+
)
|
|
898
638
|
},
|
|
899
639
|
result: {
|
|
900
640
|
from: BlockBoundWitnessSchema,
|
|
@@ -905,9 +645,6 @@ var XyoGatewayRpcSchemas = {
|
|
|
905
645
|
|
|
906
646
|
// src/transport/HttpRpcTransport.ts
|
|
907
647
|
var HttpRpcTransport = class {
|
|
908
|
-
static {
|
|
909
|
-
__name(this, "HttpRpcTransport");
|
|
910
|
-
}
|
|
911
648
|
_rpcUrl;
|
|
912
649
|
_schemas;
|
|
913
650
|
constructor(rpcUrl, schemas) {
|
|
@@ -948,9 +685,6 @@ var HttpRpcTransport = class {
|
|
|
948
685
|
import { isObject } from "@xylabs/typeof";
|
|
949
686
|
import { v4 as v42 } from "uuid";
|
|
950
687
|
var MemoryRpcTransport = class {
|
|
951
|
-
static {
|
|
952
|
-
__name(this, "MemoryRpcTransport");
|
|
953
|
-
}
|
|
954
688
|
_rpcEngine;
|
|
955
689
|
_schemas;
|
|
956
690
|
requestSchemas = {};
|
|
@@ -983,35 +717,45 @@ var MemoryRpcTransport = class {
|
|
|
983
717
|
}
|
|
984
718
|
};
|
|
985
719
|
|
|
986
|
-
// src/transport/post-message/
|
|
720
|
+
// src/transport/post-message/LegacyPostMessageRpcTransport.ts
|
|
721
|
+
import {
|
|
722
|
+
isJsonRpcError,
|
|
723
|
+
isJsonRpcSuccess
|
|
724
|
+
} from "@metamask/utils";
|
|
987
725
|
import { isDefined } from "@xylabs/typeof";
|
|
988
726
|
import { v4 as v43 } from "uuid";
|
|
989
727
|
|
|
990
728
|
// src/transport/post-message/helpers.ts
|
|
991
|
-
var isRpcError =
|
|
729
|
+
var isRpcError = (data) => {
|
|
992
730
|
return data && typeof data === "object" && "error" in data && data.error;
|
|
993
|
-
}
|
|
731
|
+
};
|
|
994
732
|
|
|
995
|
-
// src/transport/post-message/
|
|
996
|
-
var
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
733
|
+
// src/transport/post-message/resolveData.ts
|
|
734
|
+
var hasMatchingId = (eventData, targetId) => {
|
|
735
|
+
return eventData?.id === targetId ? { legacyEventData: eventData } : false;
|
|
736
|
+
};
|
|
737
|
+
var hasMatchingNestedId = (eventData, targetId) => {
|
|
738
|
+
return eventData?.data?.id === targetId ? { eventData: eventData.data } : false;
|
|
739
|
+
};
|
|
740
|
+
var resolvedEvent = (event, targetId) => {
|
|
741
|
+
return hasMatchingId(event.data, targetId) || hasMatchingNestedId(event.data, targetId);
|
|
742
|
+
};
|
|
1004
743
|
|
|
1005
|
-
// src/transport/post-message/
|
|
1006
|
-
var
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
744
|
+
// src/transport/post-message/LegacyPostMessageRpcTransport.ts
|
|
745
|
+
var isValidBaseRpcEvent = (data) => {
|
|
746
|
+
return !!(data && typeof data === "object" && "jsonrpc" in data && data.jsonrpc === "2.0" && "method" in data && typeof data.method === "string" && "id" in data && typeof data.id === "string");
|
|
747
|
+
};
|
|
748
|
+
var isRpcResponse = (data, targetId) => {
|
|
749
|
+
return isValidBaseRpcEvent(data) && (isDefined(targetId) ? data.id === targetId : true) && "result" in data && Array.isArray(data.result);
|
|
750
|
+
};
|
|
751
|
+
var LegacyPostMessageRpcTransport = class {
|
|
1010
752
|
destination;
|
|
1011
753
|
schemas;
|
|
1012
|
-
|
|
754
|
+
sessionId;
|
|
755
|
+
constructor(defaultDestination, schemas = XyoGatewayRpcSchemas, sessionId) {
|
|
1013
756
|
this.schemas = schemas;
|
|
1014
757
|
this.destination = defaultDestination;
|
|
758
|
+
this.sessionId = sessionId;
|
|
1015
759
|
}
|
|
1016
760
|
async sendRequest(method, params) {
|
|
1017
761
|
const id = v43();
|
|
@@ -1026,72 +770,234 @@ var PostMessageRpcTransport = class {
|
|
|
1026
770
|
body.params = isDefined(params) && isDefined(schemas[method]) ? schemas[method].params.to.parse(params) : params;
|
|
1027
771
|
return await new Promise((resolve, reject) => {
|
|
1028
772
|
const id2 = body.id;
|
|
1029
|
-
const handler =
|
|
773
|
+
const handler = (event) => {
|
|
1030
774
|
if (event.origin !== globalThis.window.origin) return;
|
|
1031
|
-
if (event.data
|
|
775
|
+
if (!isRpcResponse(event.data, id2)) return;
|
|
776
|
+
const data = resolvedEvent(event, id2);
|
|
777
|
+
if (data === false) return;
|
|
1032
778
|
globalThis.removeEventListener("message", handler);
|
|
1033
|
-
if (
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
779
|
+
if (data.legacyEventData) {
|
|
780
|
+
if (data.legacyEventData.result.some(isRpcError)) {
|
|
781
|
+
reject(data.legacyEventData.result[0]);
|
|
782
|
+
} else {
|
|
783
|
+
resolve(data.legacyEventData.result[0]);
|
|
784
|
+
}
|
|
785
|
+
return;
|
|
786
|
+
}
|
|
787
|
+
if (data.eventData) {
|
|
788
|
+
if (isJsonRpcError(data.eventData)) {
|
|
789
|
+
reject(data.eventData);
|
|
790
|
+
return;
|
|
791
|
+
}
|
|
792
|
+
if (isJsonRpcSuccess(data.eventData)) {
|
|
793
|
+
resolve(data.eventData);
|
|
794
|
+
return;
|
|
795
|
+
}
|
|
796
|
+
reject(new Error("Unexpected response format"));
|
|
1037
797
|
}
|
|
1038
|
-
}
|
|
798
|
+
};
|
|
1039
799
|
globalThis.addEventListener("message", handler);
|
|
1040
|
-
globalThis.postMessage(
|
|
800
|
+
globalThis.postMessage(
|
|
801
|
+
{
|
|
802
|
+
data: body,
|
|
803
|
+
destination: this.destination,
|
|
804
|
+
sessionId: this.sessionId
|
|
805
|
+
},
|
|
806
|
+
globalThis.location.origin
|
|
807
|
+
);
|
|
808
|
+
});
|
|
809
|
+
}
|
|
810
|
+
};
|
|
811
|
+
var PostMessageRpcTransport = LegacyPostMessageRpcTransport;
|
|
812
|
+
|
|
813
|
+
// src/transport/post-message/SessionEnvelope.ts
|
|
814
|
+
var buildSessionMessageRequest = (data, destination) => {
|
|
815
|
+
const request = {
|
|
816
|
+
data,
|
|
817
|
+
destination,
|
|
818
|
+
sessionId: globalThis.xyo.walletExtensionId() ?? ""
|
|
819
|
+
};
|
|
820
|
+
return request;
|
|
821
|
+
};
|
|
822
|
+
|
|
823
|
+
// src/provider/datalake/AbstractXyoDataLake.ts
|
|
824
|
+
import { ObjectHasher } from "@xyo-network/hash";
|
|
825
|
+
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
826
|
+
import { isAnyPayload } from "@xyo-network/payload-model";
|
|
827
|
+
import {
|
|
828
|
+
isHashPayload
|
|
829
|
+
} from "@xyo-network/xl1-protocol";
|
|
830
|
+
var AbstractXyoDataLake = class {
|
|
831
|
+
async fetch(hashes, maxDepth = 10) {
|
|
832
|
+
const results = await this.get(hashes);
|
|
833
|
+
if (maxDepth > 0) {
|
|
834
|
+
const hashPayloads = results.filter(isHashPayload);
|
|
835
|
+
const otherPayloads = results.filter((item) => !isHashPayload(item));
|
|
836
|
+
const found = await this.fetch(hashPayloads.map((item) => item.hash), maxDepth - 1);
|
|
837
|
+
const foundHashes = await Promise.all(found.map(async (item) => isAnyPayload(item) ? await PayloadBuilder.hash(item) : ObjectHasher.hashBytes(item)));
|
|
838
|
+
const notFound = hashPayloads.filter((item) => !foundHashes.includes(item.hash));
|
|
839
|
+
return [...otherPayloads, ...found, ...notFound];
|
|
840
|
+
}
|
|
841
|
+
return results;
|
|
842
|
+
}
|
|
843
|
+
async trace(hash) {
|
|
844
|
+
const [result] = await this.get([hash]);
|
|
845
|
+
if (isHashPayload(result)) {
|
|
846
|
+
const [payload, route] = await this.trace(result.hash);
|
|
847
|
+
return [payload, [result, ...route]];
|
|
848
|
+
}
|
|
849
|
+
return [result, []];
|
|
850
|
+
}
|
|
851
|
+
};
|
|
852
|
+
|
|
853
|
+
// src/provider/datalake/ArchivistXyoDataLake.ts
|
|
854
|
+
import { assertEx } from "@xylabs/assert";
|
|
855
|
+
import { isAnyPayload as isAnyPayload2 } from "@xyo-network/payload-model";
|
|
856
|
+
var ArchivistXyoDataLake = class extends AbstractXyoDataLake {
|
|
857
|
+
_archivist;
|
|
858
|
+
constructor(archivist) {
|
|
859
|
+
super();
|
|
860
|
+
this._archivist = archivist;
|
|
861
|
+
}
|
|
862
|
+
async add(items) {
|
|
863
|
+
const payloads = items.filter(isAnyPayload2);
|
|
864
|
+
assertEx(payloads.length === items.length, () => "Some items are not payloads");
|
|
865
|
+
return await this._archivist.insert(payloads);
|
|
866
|
+
}
|
|
867
|
+
async get(hashes) {
|
|
868
|
+
return await this._archivist.get(hashes);
|
|
869
|
+
}
|
|
870
|
+
};
|
|
871
|
+
|
|
872
|
+
// src/provider/datalake/HttpXyoDataLake.ts
|
|
873
|
+
import { assertEx as assertEx2 } from "@xylabs/assert";
|
|
874
|
+
import { AxiosJson as AxiosJson2 } from "@xylabs/axios";
|
|
875
|
+
import { exists } from "@xylabs/exists";
|
|
876
|
+
import { isArrayBuffer, isDefined as isDefined2 } from "@xylabs/typeof";
|
|
877
|
+
import { isAnyPayload as isAnyPayload3 } from "@xyo-network/payload-model";
|
|
878
|
+
import { isHashPayload as isHashPayload2 } from "@xyo-network/xl1-protocol";
|
|
879
|
+
import { Axios } from "axios";
|
|
880
|
+
var HttpXyoDataLake = class extends AbstractXyoDataLake {
|
|
881
|
+
_axiosGet;
|
|
882
|
+
_axiosInsertBlob;
|
|
883
|
+
_axiosInsertJson;
|
|
884
|
+
_endpoint;
|
|
885
|
+
constructor(endpoint) {
|
|
886
|
+
super();
|
|
887
|
+
this._endpoint = endpoint;
|
|
888
|
+
this._axiosInsertJson = new AxiosJson2({ baseURL: endpoint });
|
|
889
|
+
this._axiosInsertBlob = new Axios({ baseURL: endpoint, headers: { "Content-Type": "application/octet-stream", "Accept": "application/octet-stream" } });
|
|
890
|
+
this._axiosGet = new Axios({ baseURL: endpoint, headers: { "Content-Type": "application/json", "Accept": "application/octet-stream, application/json" } });
|
|
891
|
+
}
|
|
892
|
+
get endpoint() {
|
|
893
|
+
return this._endpoint;
|
|
894
|
+
}
|
|
895
|
+
async add(items) {
|
|
896
|
+
const results = [];
|
|
897
|
+
for (const item of items) {
|
|
898
|
+
if (isAnyPayload3(item)) {
|
|
899
|
+
const result = await this.addPayload(item);
|
|
900
|
+
if (isAnyPayload3(result)) {
|
|
901
|
+
results.push(result);
|
|
902
|
+
} else if (isDefined2(result)) {
|
|
903
|
+
assertEx2(false, () => "Expected result to be a Payload");
|
|
904
|
+
}
|
|
905
|
+
} else if (isArrayBuffer(item)) {
|
|
906
|
+
const result = await this.addArrayBuffer(item);
|
|
907
|
+
if (isAnyPayload3(result)) {
|
|
908
|
+
results.push(result);
|
|
909
|
+
} else if (isDefined2(result)) {
|
|
910
|
+
assertEx2(false, () => "Expected result to be a Payload");
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
return results;
|
|
915
|
+
}
|
|
916
|
+
async get(hashes) {
|
|
917
|
+
return (await Promise.all(hashes.map(async (hash) => {
|
|
918
|
+
return await this.getOne(hash);
|
|
919
|
+
}))).filter(exists);
|
|
920
|
+
}
|
|
921
|
+
async addArrayBuffer(item) {
|
|
922
|
+
const result = await this._axiosInsertBlob.post("/insert", item);
|
|
923
|
+
if (result.status < 200 || result.status >= 300) {
|
|
924
|
+
throw new Error(`Failed to add items [${result.status}]: ${result.statusText}`);
|
|
925
|
+
}
|
|
926
|
+
if (!isArrayBuffer(result.data)) {
|
|
927
|
+
throw new Error("Invalid response from server (expected a ArrayBuffer)");
|
|
928
|
+
}
|
|
929
|
+
return result.data;
|
|
930
|
+
}
|
|
931
|
+
async addPayload(item) {
|
|
932
|
+
const result = await this._axiosInsertJson.post("/insert", item);
|
|
933
|
+
if (result.status < 200 || result.status >= 300) {
|
|
934
|
+
throw new Error(`Failed to add items [${result.status}]: ${result.statusText}`);
|
|
935
|
+
}
|
|
936
|
+
if (!isAnyPayload3(result.data)) {
|
|
937
|
+
throw new Error("Invalid response from server (expected a Payload)");
|
|
938
|
+
}
|
|
939
|
+
return result.data;
|
|
940
|
+
}
|
|
941
|
+
async fetchOne(hash, maxDepth = Number.MAX_SAFE_INTEGER) {
|
|
942
|
+
if (maxDepth <= 0) {
|
|
943
|
+
return void 0;
|
|
944
|
+
}
|
|
945
|
+
const result = await this.getOne(hash);
|
|
946
|
+
if (isHashPayload2(result)) {
|
|
947
|
+
return await this.fetchOne(result.hash, maxDepth - 1);
|
|
948
|
+
}
|
|
949
|
+
return result;
|
|
950
|
+
}
|
|
951
|
+
getOne(hash) {
|
|
952
|
+
return this._axiosGet.get(`/get/${hash}`).then((response) => {
|
|
953
|
+
if (response.status < 200 || response.status >= 300) {
|
|
954
|
+
throw new Error(`Failed to get item [${response.status}]: ${response.statusText}`);
|
|
955
|
+
}
|
|
956
|
+
if (!isAnyPayload3(response.data)) {
|
|
957
|
+
throw new Error("Invalid response from server (expected a Payload)");
|
|
958
|
+
}
|
|
959
|
+
return response.data;
|
|
1041
960
|
});
|
|
1042
961
|
}
|
|
1043
962
|
};
|
|
1044
963
|
|
|
1045
964
|
// src/provider/runner/JsonRpcXyoRunner.ts
|
|
1046
965
|
var JsonRpcXyoRunner = class {
|
|
1047
|
-
static {
|
|
1048
|
-
__name(this, "JsonRpcXyoRunner");
|
|
1049
|
-
}
|
|
1050
966
|
transport;
|
|
1051
967
|
constructor(transport) {
|
|
1052
968
|
this.transport = transport;
|
|
1053
969
|
}
|
|
1054
970
|
async broadcastTransaction(transaction) {
|
|
1055
|
-
return await this.transport.sendRequest("xyoRunner_broadcastTransaction", [
|
|
1056
|
-
transaction
|
|
1057
|
-
]);
|
|
971
|
+
return await this.transport.sendRequest("xyoRunner_broadcastTransaction", [transaction]);
|
|
1058
972
|
}
|
|
1059
973
|
};
|
|
1060
974
|
|
|
1061
975
|
// src/provider/runner/MemoryXyoRunner.ts
|
|
1062
976
|
import { MemoryArchivist } from "@xyo-network/archivist-memory";
|
|
1063
|
-
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
977
|
+
import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
|
|
1064
978
|
import { flattenHydratedTransaction } from "@xyo-network/xl1-protocol-sdk";
|
|
1065
979
|
var MemoryXyoRunner = class {
|
|
1066
|
-
static {
|
|
1067
|
-
__name(this, "MemoryXyoRunner");
|
|
1068
|
-
}
|
|
1069
980
|
_archivist;
|
|
1070
981
|
async broadcastTransaction(transaction) {
|
|
1071
982
|
const archivist = await this.getArchivist();
|
|
1072
983
|
await archivist.insert(flattenHydratedTransaction(transaction));
|
|
1073
|
-
return await
|
|
984
|
+
return await PayloadBuilder2.hash(transaction[0]);
|
|
1074
985
|
}
|
|
1075
986
|
async getArchivist() {
|
|
1076
987
|
if (!this._archivist) {
|
|
1077
|
-
this._archivist = await MemoryArchivist.create({
|
|
1078
|
-
account: "random"
|
|
1079
|
-
});
|
|
988
|
+
this._archivist = await MemoryArchivist.create({ account: "random" });
|
|
1080
989
|
}
|
|
1081
990
|
return this._archivist;
|
|
1082
991
|
}
|
|
1083
992
|
};
|
|
1084
993
|
|
|
1085
994
|
// src/provider/runner/NodeXyoRunner.ts
|
|
1086
|
-
import { assertEx as
|
|
995
|
+
import { assertEx as assertEx3 } from "@xylabs/assert";
|
|
1087
996
|
import { asArchivistInstance } from "@xyo-network/archivist-model";
|
|
1088
|
-
import { PayloadBuilder as
|
|
997
|
+
import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
|
|
1089
998
|
import { PayloadBundleSchema } from "@xyo-network/payload-model";
|
|
1090
999
|
import { flattenHydratedTransaction as flattenHydratedTransaction2 } from "@xyo-network/xl1-protocol-sdk";
|
|
1091
1000
|
var NodeXyoRunner = class {
|
|
1092
|
-
static {
|
|
1093
|
-
__name(this, "NodeXyoRunner");
|
|
1094
|
-
}
|
|
1095
1001
|
// TODO: Make configurable with defaults
|
|
1096
1002
|
node;
|
|
1097
1003
|
pendingArchivistPath = "XYOChain:Pending:PendingTransactions";
|
|
@@ -1102,33 +1008,28 @@ var NodeXyoRunner = class {
|
|
|
1102
1008
|
async broadcastTransaction(transaction) {
|
|
1103
1009
|
const flattened = flattenHydratedTransaction2(transaction);
|
|
1104
1010
|
const pendingArchivist = await this.getPendingArchivist();
|
|
1105
|
-
const txHash = await
|
|
1011
|
+
const txHash = await PayloadBuilder3.hash(transaction[0]);
|
|
1106
1012
|
const payloadBundle = {
|
|
1107
1013
|
schema: PayloadBundleSchema,
|
|
1108
1014
|
payloads: flattened,
|
|
1109
1015
|
root: txHash
|
|
1110
1016
|
};
|
|
1111
|
-
await pendingArchivist.insert([
|
|
1112
|
-
payloadBundle
|
|
1113
|
-
]);
|
|
1017
|
+
await pendingArchivist.insert([payloadBundle]);
|
|
1114
1018
|
return txHash;
|
|
1115
1019
|
}
|
|
1116
|
-
getArchivist =
|
|
1020
|
+
getArchivist = async (identifier) => {
|
|
1117
1021
|
const archivist = await this.node.resolve(identifier);
|
|
1118
|
-
return
|
|
1119
|
-
}
|
|
1120
|
-
getPendingArchivist =
|
|
1022
|
+
return assertEx3(asArchivistInstance(archivist), () => `Error: Could not resolve ${identifier} to an archivist instance`);
|
|
1023
|
+
};
|
|
1024
|
+
getPendingArchivist = async () => {
|
|
1121
1025
|
if (this._pendingArchivist) return this._pendingArchivist;
|
|
1122
1026
|
this._pendingArchivist = await this.getArchivist(this.pendingArchivistPath);
|
|
1123
|
-
return
|
|
1124
|
-
}
|
|
1027
|
+
return assertEx3(this._pendingArchivist, () => `Error: Could not resolve pending archivist at ${this.pendingArchivistPath}`);
|
|
1028
|
+
};
|
|
1125
1029
|
};
|
|
1126
1030
|
|
|
1127
1031
|
// src/provider/signer/JsonRpcXyoSigner.ts
|
|
1128
1032
|
var RpcXyoSigner = class {
|
|
1129
|
-
static {
|
|
1130
|
-
__name(this, "RpcXyoSigner");
|
|
1131
|
-
}
|
|
1132
1033
|
transport;
|
|
1133
1034
|
constructor(transport) {
|
|
1134
1035
|
this.transport = transport;
|
|
@@ -1152,17 +1053,11 @@ var RpcXyoSigner = class {
|
|
|
1152
1053
|
}
|
|
1153
1054
|
};
|
|
1154
1055
|
var JsonRpcXyoSigner = class extends RpcXyoSigner {
|
|
1155
|
-
static {
|
|
1156
|
-
__name(this, "JsonRpcXyoSigner");
|
|
1157
|
-
}
|
|
1158
1056
|
};
|
|
1159
1057
|
|
|
1160
1058
|
// src/provider/signer/MemoryXyoSigner.ts
|
|
1161
1059
|
import { buildTransaction } from "@xyo-network/xl1-protocol-sdk";
|
|
1162
1060
|
var MemoryXyoSigner = class {
|
|
1163
|
-
static {
|
|
1164
|
-
__name(this, "MemoryXyoSigner");
|
|
1165
|
-
}
|
|
1166
1061
|
_account;
|
|
1167
1062
|
constructor(account) {
|
|
1168
1063
|
this._account = account;
|
|
@@ -1172,7 +1067,16 @@ var MemoryXyoSigner = class {
|
|
|
1172
1067
|
}
|
|
1173
1068
|
async createSignedTransaction(chain, elevatedPayloads, additionalPayloads, nbf, exp, fees, from) {
|
|
1174
1069
|
const fromAddress = from ?? this._account.address;
|
|
1175
|
-
const transaction = await buildTransaction(
|
|
1070
|
+
const transaction = await buildTransaction(
|
|
1071
|
+
chain,
|
|
1072
|
+
elevatedPayloads,
|
|
1073
|
+
additionalPayloads,
|
|
1074
|
+
this._account,
|
|
1075
|
+
nbf,
|
|
1076
|
+
exp,
|
|
1077
|
+
fromAddress,
|
|
1078
|
+
fees
|
|
1079
|
+
);
|
|
1176
1080
|
return transaction[0];
|
|
1177
1081
|
}
|
|
1178
1082
|
signTransaction(_tx) {
|
|
@@ -1182,38 +1086,24 @@ var MemoryXyoSigner = class {
|
|
|
1182
1086
|
|
|
1183
1087
|
// src/provider/viewer/JsonRpcXyoViewer.ts
|
|
1184
1088
|
var JsonRpcXyoViewer = class {
|
|
1185
|
-
static {
|
|
1186
|
-
__name(this, "JsonRpcXyoViewer");
|
|
1187
|
-
}
|
|
1188
1089
|
transport;
|
|
1189
1090
|
constructor(transport) {
|
|
1190
1091
|
this.transport = transport;
|
|
1191
1092
|
}
|
|
1192
1093
|
async accountBalance(address) {
|
|
1193
|
-
return await this.transport.sendRequest("xyoViewer_accountBalance", [
|
|
1194
|
-
address
|
|
1195
|
-
]);
|
|
1094
|
+
return await this.transport.sendRequest("xyoViewer_accountBalance", [address]);
|
|
1196
1095
|
}
|
|
1197
1096
|
async accountHistory(address) {
|
|
1198
|
-
return await this.transport.sendRequest("xyoViewer_accountBalance", [
|
|
1199
|
-
address
|
|
1200
|
-
]);
|
|
1097
|
+
return await this.transport.sendRequest("xyoViewer_accountBalance", [address]);
|
|
1201
1098
|
}
|
|
1202
1099
|
async blockByHash(hash) {
|
|
1203
|
-
return await this.transport.sendRequest("xyoViewer_blockByHash", [
|
|
1204
|
-
hash
|
|
1205
|
-
]);
|
|
1100
|
+
return await this.transport.sendRequest("xyoViewer_blockByHash", [hash]);
|
|
1206
1101
|
}
|
|
1207
1102
|
async blockByNumber(blockNumber) {
|
|
1208
|
-
return await this.transport.sendRequest("xyoViewer_blockByNumber", [
|
|
1209
|
-
blockNumber
|
|
1210
|
-
]);
|
|
1103
|
+
return await this.transport.sendRequest("xyoViewer_blockByNumber", [blockNumber]);
|
|
1211
1104
|
}
|
|
1212
1105
|
async blocksByHash(hash, limit) {
|
|
1213
|
-
return await this.transport.sendRequest("xyoViewer_blocksByHash", [
|
|
1214
|
-
hash,
|
|
1215
|
-
limit
|
|
1216
|
-
]);
|
|
1106
|
+
return await this.transport.sendRequest("xyoViewer_blocksByHash", [hash, limit]);
|
|
1217
1107
|
}
|
|
1218
1108
|
async chainId() {
|
|
1219
1109
|
return await this.transport.sendRequest("xyoViewer_chainId");
|
|
@@ -1228,34 +1118,23 @@ var JsonRpcXyoViewer = class {
|
|
|
1228
1118
|
return await this.transport.sendRequest("xyoViewer_currentBlockNumber");
|
|
1229
1119
|
}
|
|
1230
1120
|
async transactionByBlockHashAndIndex(blockHash, transactionIndex) {
|
|
1231
|
-
return await this.transport.sendRequest("xyoViewer_transactionByBlockHashAndIndex", [
|
|
1232
|
-
blockHash,
|
|
1233
|
-
transactionIndex
|
|
1234
|
-
]);
|
|
1121
|
+
return await this.transport.sendRequest("xyoViewer_transactionByBlockHashAndIndex", [blockHash, transactionIndex]);
|
|
1235
1122
|
}
|
|
1236
1123
|
async transactionByBlockNumberAndIndex(blockNumber, transactionIndex) {
|
|
1237
|
-
return await this.transport.sendRequest("xyoViewer_transactionByBlockNumberAndIndex", [
|
|
1238
|
-
blockNumber,
|
|
1239
|
-
transactionIndex
|
|
1240
|
-
]);
|
|
1124
|
+
return await this.transport.sendRequest("xyoViewer_transactionByBlockNumberAndIndex", [blockNumber, transactionIndex]);
|
|
1241
1125
|
}
|
|
1242
1126
|
async transactionByHash(transactionHash) {
|
|
1243
|
-
return await this.transport.sendRequest("xyoViewer_transactionByHash", [
|
|
1244
|
-
transactionHash
|
|
1245
|
-
]);
|
|
1127
|
+
return await this.transport.sendRequest("xyoViewer_transactionByHash", [transactionHash]);
|
|
1246
1128
|
}
|
|
1247
1129
|
};
|
|
1248
1130
|
|
|
1249
|
-
// src/provider/
|
|
1250
|
-
import { assertEx as
|
|
1251
|
-
import { PayloadBuilder as
|
|
1252
|
-
import { isAnyPayload } from "@xyo-network/payload-model";
|
|
1131
|
+
// src/provider/connection/XyoConnection.ts
|
|
1132
|
+
import { assertEx as assertEx4 } from "@xylabs/assert";
|
|
1133
|
+
import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
|
|
1134
|
+
import { isAnyPayload as isAnyPayload4 } from "@xyo-network/payload-model";
|
|
1253
1135
|
import { defaultTransactionFees, isDataLakeProvider } from "@xyo-network/xl1-protocol";
|
|
1254
1136
|
import { HydratedTransactionWrapper } from "@xyo-network/xl1-wrappers";
|
|
1255
1137
|
var XyoConnection = class {
|
|
1256
|
-
static {
|
|
1257
|
-
__name(this, "XyoConnection");
|
|
1258
|
-
}
|
|
1259
1138
|
_network;
|
|
1260
1139
|
_runner;
|
|
1261
1140
|
_signer;
|
|
@@ -1274,6 +1153,7 @@ var XyoConnection = class {
|
|
|
1274
1153
|
get runner() {
|
|
1275
1154
|
return this._runner;
|
|
1276
1155
|
}
|
|
1156
|
+
/** @deprecated use signer from gateway instead */
|
|
1277
1157
|
get signer() {
|
|
1278
1158
|
return this._signer;
|
|
1279
1159
|
}
|
|
@@ -1293,10 +1173,17 @@ var XyoConnection = class {
|
|
|
1293
1173
|
fees
|
|
1294
1174
|
}))[0];
|
|
1295
1175
|
}
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1176
|
+
/** @deprecated use addPayloadsToChain from gateway instead */
|
|
1177
|
+
async submitTransaction(elevatedPayloads, additionalPayloads, {
|
|
1178
|
+
chain,
|
|
1179
|
+
exp,
|
|
1180
|
+
fees,
|
|
1181
|
+
from,
|
|
1182
|
+
nbf
|
|
1183
|
+
} = {}) {
|
|
1184
|
+
const viewer = assertEx4(this.viewer, () => "No viewer available");
|
|
1185
|
+
const signer = assertEx4(this.signer, () => "No signer available");
|
|
1186
|
+
const runner = assertEx4(this.runner, () => "No runner available");
|
|
1300
1187
|
const storage = this.storage;
|
|
1301
1188
|
const chainResolved = chain ?? await viewer.chainId();
|
|
1302
1189
|
if (chainResolved === void 0) throw new Error("Failed to determine chain");
|
|
@@ -1305,59 +1192,190 @@ var XyoConnection = class {
|
|
|
1305
1192
|
const feesResolved = fees ?? defaultTransactionFees;
|
|
1306
1193
|
const fromResolved = from ?? await signer.address();
|
|
1307
1194
|
if (fromResolved === void 0) throw new Error("Failed to determine from address");
|
|
1308
|
-
const signedTransaction =
|
|
1195
|
+
const signedTransaction = assertEx4(await signer.createSignedTransaction(
|
|
1196
|
+
chainResolved,
|
|
1197
|
+
elevatedPayloads,
|
|
1198
|
+
additionalPayloads,
|
|
1199
|
+
nbfResolved,
|
|
1200
|
+
expResolved,
|
|
1201
|
+
feesResolved,
|
|
1202
|
+
fromResolved
|
|
1203
|
+
), () => "Failed to create transaction");
|
|
1309
1204
|
const hydratedTransaction = [
|
|
1310
|
-
await
|
|
1311
|
-
await
|
|
1205
|
+
await PayloadBuilder4.addStorageMeta(signedTransaction),
|
|
1206
|
+
await PayloadBuilder4.addStorageMeta(elevatedPayloads)
|
|
1312
1207
|
];
|
|
1313
1208
|
if (isDataLakeProvider(storage)) {
|
|
1314
1209
|
const wrapper = await HydratedTransactionWrapper.parse(hydratedTransaction);
|
|
1315
|
-
await storage.add(Object.values(wrapper.externalPayloads).filter(
|
|
1210
|
+
await storage.add(Object.values(wrapper.externalPayloads).filter(isAnyPayload4));
|
|
1316
1211
|
}
|
|
1317
|
-
|
|
1212
|
+
assertEx4(await runner.broadcastTransaction(hydratedTransaction), () => "Failed to broadcast transaction");
|
|
1318
1213
|
return hydratedTransaction;
|
|
1319
1214
|
}
|
|
1320
1215
|
};
|
|
1321
1216
|
|
|
1322
|
-
// src/provider/
|
|
1217
|
+
// src/provider/connection/HttpRpcXyoConnection.ts
|
|
1323
1218
|
var HttpRpcXyoConnection = class extends XyoConnection {
|
|
1324
|
-
static {
|
|
1325
|
-
__name(this, "HttpRpcXyoConnection");
|
|
1326
|
-
}
|
|
1327
1219
|
constructor(params) {
|
|
1328
|
-
const {
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1220
|
+
const {
|
|
1221
|
+
account,
|
|
1222
|
+
endpoint,
|
|
1223
|
+
storage: storageParam
|
|
1224
|
+
} = params;
|
|
1225
|
+
const signer = isDefined3(account) ? new MemoryXyoSigner(account) : void 0;
|
|
1226
|
+
const transport = new HttpRpcTransport(endpoint, { ...XyoRunnerRpcSchemas, ...XyoViewerRpcSchemas });
|
|
1334
1227
|
const runner = new JsonRpcXyoRunner(transport);
|
|
1335
1228
|
const viewer = new JsonRpcXyoViewer(transport);
|
|
1229
|
+
const storage = isDataLakeProvider2(storageParam) ? storageParam : isString(storageParam) ? new HttpXyoDataLake(storageParam) : void 0;
|
|
1336
1230
|
super({
|
|
1337
1231
|
signer,
|
|
1338
1232
|
runner,
|
|
1339
|
-
viewer
|
|
1233
|
+
viewer,
|
|
1234
|
+
storage
|
|
1340
1235
|
});
|
|
1341
1236
|
}
|
|
1342
1237
|
};
|
|
1343
1238
|
var RpcXyoConnection = class extends HttpRpcXyoConnection {
|
|
1344
|
-
|
|
1345
|
-
|
|
1239
|
+
};
|
|
1240
|
+
|
|
1241
|
+
// src/provider/gateway/Abstract.ts
|
|
1242
|
+
import { assertEx as assertEx5 } from "@xylabs/assert";
|
|
1243
|
+
import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
|
|
1244
|
+
import { buildUnsignedTransaction } from "@xyo-network/xl1-protocol-sdk";
|
|
1245
|
+
var AbstractXyoGateway = class {
|
|
1246
|
+
async addPayloadsToChain(onChain, offChain) {
|
|
1247
|
+
const connection = await this.connection();
|
|
1248
|
+
const viewer = assertEx5(connection.viewer, () => "No viewer available on connection");
|
|
1249
|
+
const signer = await this.signer();
|
|
1250
|
+
const chainId = await viewer.chainId();
|
|
1251
|
+
const nbf = await viewer.currentBlockNumber();
|
|
1252
|
+
const tx = await buildUnsignedTransaction(chainId, onChain, offChain, nbf, nbf + 1e3, await signer.address());
|
|
1253
|
+
const hash = await this.addTransactionToChain(tx);
|
|
1254
|
+
return [hash, tx];
|
|
1255
|
+
}
|
|
1256
|
+
async addTransactionToChain(tx) {
|
|
1257
|
+
const connection = await this.connection();
|
|
1258
|
+
const signer = await this.signer();
|
|
1259
|
+
const runner = assertEx5(connection.runner, () => "No runner available on connection");
|
|
1260
|
+
const signedTx = await signer.signTransaction(tx);
|
|
1261
|
+
return await runner.broadcastTransaction(
|
|
1262
|
+
[
|
|
1263
|
+
await PayloadBuilder5.addStorageMeta(signedTx[0]),
|
|
1264
|
+
await PayloadBuilder5.addStorageMeta(signedTx[1])
|
|
1265
|
+
]
|
|
1266
|
+
);
|
|
1267
|
+
}
|
|
1268
|
+
/** @deprecated use addPayloadsToChain instead */
|
|
1269
|
+
async submitTransaction(elevatedPayloads, additionalPayloads) {
|
|
1270
|
+
const connection = await this.connection();
|
|
1271
|
+
assertEx5(connection.submitTransaction, () => "Active connection does not support transaction submission");
|
|
1272
|
+
const tx = await connection.submitTransaction?.(elevatedPayloads, additionalPayloads);
|
|
1273
|
+
return assertEx5(tx, () => "Transaction submission failed");
|
|
1274
|
+
}
|
|
1275
|
+
};
|
|
1276
|
+
|
|
1277
|
+
// src/provider/gateway/MemoryXyoGateway.ts
|
|
1278
|
+
var MemoryXyoGateway = class extends AbstractXyoGateway {
|
|
1279
|
+
_connection;
|
|
1280
|
+
_signer;
|
|
1281
|
+
constructor(signer, connection) {
|
|
1282
|
+
super();
|
|
1283
|
+
this._signer = signer;
|
|
1284
|
+
this._connection = connection;
|
|
1285
|
+
}
|
|
1286
|
+
connection() {
|
|
1287
|
+
return this._connection;
|
|
1288
|
+
}
|
|
1289
|
+
signer() {
|
|
1290
|
+
return this._signer;
|
|
1291
|
+
}
|
|
1292
|
+
};
|
|
1293
|
+
|
|
1294
|
+
// src/provider/network/MemoryXyoNetwork.ts
|
|
1295
|
+
import { isUndefined } from "@xylabs/typeof";
|
|
1296
|
+
import { isNetworkStatus } from "@xyo-network/xl1-protocol";
|
|
1297
|
+
import axios from "axios";
|
|
1298
|
+
|
|
1299
|
+
// src/provider/network/lib/FailedNetworkStatusPayloads.ts
|
|
1300
|
+
import { NetworkStatusSchema } from "@xyo-network/xl1-protocol";
|
|
1301
|
+
var unknownStatus = {
|
|
1302
|
+
description: "Unknown Network Status",
|
|
1303
|
+
schema: NetworkStatusSchema,
|
|
1304
|
+
state: "unknown"
|
|
1305
|
+
};
|
|
1306
|
+
var errorStatus = {
|
|
1307
|
+
description: "Error Fetching Network Status",
|
|
1308
|
+
schema: NetworkStatusSchema,
|
|
1309
|
+
state: "unknown"
|
|
1310
|
+
};
|
|
1311
|
+
|
|
1312
|
+
// src/provider/network/lib/StatusNetworks.ts
|
|
1313
|
+
var MainNetworkStats = {
|
|
1314
|
+
id: "mainnet",
|
|
1315
|
+
statusUrl: "https://xyo.network/chain-network-status-mainnet.json"
|
|
1316
|
+
};
|
|
1317
|
+
var SequenceNetworkStats = {
|
|
1318
|
+
id: "sequence",
|
|
1319
|
+
statusUrl: "https://beta.xyo.network/chain-network-status-sequence.json"
|
|
1320
|
+
};
|
|
1321
|
+
var LocalNetworkStats = {
|
|
1322
|
+
id: "local",
|
|
1323
|
+
statusUrl: "http://localhost:3002/chain-network-status-local.json"
|
|
1324
|
+
};
|
|
1325
|
+
var StatusNetworks = {
|
|
1326
|
+
["mainnet"]: MainNetworkStats,
|
|
1327
|
+
["sequence"]: SequenceNetworkStats,
|
|
1328
|
+
["local"]: LocalNetworkStats
|
|
1329
|
+
};
|
|
1330
|
+
|
|
1331
|
+
// src/provider/network/MemoryXyoNetwork.ts
|
|
1332
|
+
var MemoryXyoNetwork = class {
|
|
1333
|
+
_networkId;
|
|
1334
|
+
constructor(networkId) {
|
|
1335
|
+
this._networkId = networkId;
|
|
1336
|
+
}
|
|
1337
|
+
async status() {
|
|
1338
|
+
const statusNetwork = StatusNetworks[this._networkId];
|
|
1339
|
+
if (isUndefined(statusNetwork)) {
|
|
1340
|
+
throw new Error(`Unknown status network ID: ${this._networkId}`);
|
|
1341
|
+
}
|
|
1342
|
+
return await this.makeRequest(statusNetwork.statusUrl);
|
|
1343
|
+
}
|
|
1344
|
+
async makeRequest(url) {
|
|
1345
|
+
try {
|
|
1346
|
+
const response = await axios.get(url);
|
|
1347
|
+
if (isNetworkStatus(response.data)) {
|
|
1348
|
+
return response.data;
|
|
1349
|
+
} else {
|
|
1350
|
+
if (response.status === 200) {
|
|
1351
|
+
console.error("Unknown network status response:", response.data);
|
|
1352
|
+
return unknownStatus;
|
|
1353
|
+
}
|
|
1354
|
+
return errorStatus;
|
|
1355
|
+
}
|
|
1356
|
+
} catch (error) {
|
|
1357
|
+
console.error("Error fetching network status:", error);
|
|
1358
|
+
return errorStatus;
|
|
1359
|
+
}
|
|
1346
1360
|
}
|
|
1347
1361
|
};
|
|
1348
1362
|
export {
|
|
1363
|
+
AbstractXyoDataLake,
|
|
1349
1364
|
AbstractXyoGateway,
|
|
1350
1365
|
AllRpcSchemas,
|
|
1366
|
+
ArchivistXyoDataLake,
|
|
1351
1367
|
CaveatTypesSchema,
|
|
1352
1368
|
CaveatsSchema,
|
|
1353
1369
|
ChainConnectionSchema,
|
|
1354
1370
|
HttpRpcTransport,
|
|
1355
1371
|
HttpRpcXyoConnection,
|
|
1372
|
+
HttpXyoDataLake,
|
|
1356
1373
|
InvokerPermissionSchema,
|
|
1357
1374
|
JsonRpcErrorCodes,
|
|
1358
1375
|
JsonRpcXyoRunner,
|
|
1359
1376
|
JsonRpcXyoSigner,
|
|
1360
1377
|
JsonRpcXyoViewer,
|
|
1378
|
+
LegacyPostMessageRpcTransport,
|
|
1361
1379
|
MemoryPermissionsStore,
|
|
1362
1380
|
MemoryRpcTransport,
|
|
1363
1381
|
MemoryXyoClient,
|