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