zkcloudworker 0.23.4 → 0.23.5
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/node/index.cjs +17 -10
- package/dist/node/mina/transactions/send.d.ts +1 -0
- package/dist/node/mina/transactions/send.js +17 -9
- package/dist/node/mina/transactions/send.js.map +1 -1
- package/dist/web/mina/transactions/send.d.ts +1 -0
- package/dist/web/mina/transactions/send.js +17 -9
- package/dist/web/mina/transactions/send.js.map +1 -1
- package/package.json +1 -1
- package/src/mina/transactions/send.ts +32 -17
package/dist/node/index.cjs
CHANGED
@@ -2418,7 +2418,7 @@ var TinyContract = class extends import_o1js9.SmartContract {
|
|
2418
2418
|
// dist/node/mina/transactions/send.js
|
2419
2419
|
var import_o1js10 = require("o1js");
|
2420
2420
|
async function sendTx(params) {
|
2421
|
-
const { tx, description = "", verbose = true, wait = true, chain = getCurrentNetwork().network.chainId } = params;
|
2421
|
+
const { tx, description = "", verbose = true, wait = true, chain = getCurrentNetwork().network.chainId, delay = chain === "zeko" ? 5e3 : 3e4 } = params;
|
2422
2422
|
const accountUpdates = JSON.parse(tx.toJSON()).accountUpdates;
|
2423
2423
|
const auCount = [];
|
2424
2424
|
let proofAuthorizationCount = 0;
|
@@ -2477,11 +2477,9 @@ async function sendTx(params) {
|
|
2477
2477
|
if (verbose)
|
2478
2478
|
console.log(`Waiting for tx inclusion...`);
|
2479
2479
|
let txIncluded = await txSent.safeWait();
|
2480
|
-
if (txIncluded.status
|
2481
|
-
|
2482
|
-
|
2483
|
-
else
|
2484
|
-
console.error(`${description ?? ""} tx NOT included into block: hash: ${txIncluded.hash} status: ${txIncluded.status}`);
|
2480
|
+
if (txIncluded.status !== "included") {
|
2481
|
+
console.error(`${description ?? ""} tx NOT included into block: hash: ${txIncluded.hash} status: ${txIncluded.status}, errors: ${String(txIncluded.errors ?? "")}`);
|
2482
|
+
}
|
2485
2483
|
if (chain !== "local") {
|
2486
2484
|
const { publicKey, nonce } = tx.transaction.feePayer.body;
|
2487
2485
|
const started = Date.now();
|
@@ -2492,20 +2490,29 @@ async function sendTx(params) {
|
|
2492
2490
|
})).account?.nonce;
|
2493
2491
|
if (newNonce && Number(newNonce.toBigint()) > Number(nonce.toBigint())) {
|
2494
2492
|
const txIncluded2 = await txSent.safeWait();
|
2495
|
-
if (txIncluded2.status === "included")
|
2493
|
+
if (txIncluded2.status === "included") {
|
2494
|
+
if (verbose)
|
2495
|
+
console.log(`${description ?? ""} tx included into block: hash: ${txIncluded2.hash} status: ${txIncluded2.status}`);
|
2496
|
+
if (delay > 0)
|
2497
|
+
await sleep(delay);
|
2496
2498
|
return txIncluded2;
|
2497
|
-
else if (txIncluded2.status === "rejected") {
|
2499
|
+
} else if (txIncluded2.status === "rejected") {
|
2498
2500
|
await sleep(3e4);
|
2499
2501
|
const txIncluded3 = await txSent.safeWait();
|
2500
|
-
if (txIncluded3.status === "included")
|
2502
|
+
if (txIncluded3.status === "included") {
|
2503
|
+
if (verbose)
|
2504
|
+
console.log(`${description ?? ""} tx included into block: hash: ${txIncluded3.hash} status: ${txIncluded3.status}`);
|
2505
|
+
if (delay > 0)
|
2506
|
+
await sleep(delay);
|
2501
2507
|
return txIncluded3;
|
2508
|
+
}
|
2502
2509
|
console.error(`tx failed: ${chain} tx rejected: hash: ${txIncluded3.hash} status: ${txIncluded3.status} errors: ${txIncluded3.errors}`);
|
2503
2510
|
return txIncluded3;
|
2504
2511
|
}
|
2505
2512
|
}
|
2506
2513
|
if (verbose)
|
2507
2514
|
console.log(`Waiting for ${chain} to update state for ${Math.floor((Date.now() - started) / 1e3)} sec...`);
|
2508
|
-
await sleep(
|
2515
|
+
await sleep(3e4);
|
2509
2516
|
}
|
2510
2517
|
console.error(`${chain} do not reflect nonce update for tx ${txIncluded.hash} with status ${txIncluded.status}`);
|
2511
2518
|
}
|
@@ -18,6 +18,7 @@ export declare function sendTx(params: {
|
|
18
18
|
verbose?: boolean;
|
19
19
|
wait?: boolean;
|
20
20
|
chain?: blockchain;
|
21
|
+
delay?: number;
|
21
22
|
}): Promise<Mina.IncludedTransaction | Mina.PendingTransaction | Mina.RejectedTransaction | undefined>;
|
22
23
|
export declare function getTxStatusFast(params: {
|
23
24
|
hash: string;
|
@@ -15,7 +15,7 @@ import { getCurrentNetwork } from "../utils/mina.js";
|
|
15
15
|
* `Mina.RejectedTransaction`, or `undefined` if there was an error during the process.
|
16
16
|
*/
|
17
17
|
export async function sendTx(params) {
|
18
|
-
const { tx, description = "", verbose = true, wait = true, chain = getCurrentNetwork().network.chainId, } = params;
|
18
|
+
const { tx, description = "", verbose = true, wait = true, chain = getCurrentNetwork().network.chainId, delay = chain === "zeko" ? 5000 : 30000, } = params;
|
19
19
|
// flatten accountUpdates
|
20
20
|
const accountUpdates = JSON.parse(tx.toJSON()).accountUpdates;
|
21
21
|
const auCount = [];
|
@@ -80,11 +80,9 @@ export async function sendTx(params) {
|
|
80
80
|
if (verbose)
|
81
81
|
console.log(`Waiting for tx inclusion...`);
|
82
82
|
let txIncluded = await txSent.safeWait();
|
83
|
-
if (txIncluded.status
|
84
|
-
|
85
|
-
|
86
|
-
else
|
87
|
-
console.error(`${description ?? ""} tx NOT included into block: hash: ${txIncluded.hash} status: ${txIncluded.status}`);
|
83
|
+
if (txIncluded.status !== "included") {
|
84
|
+
console.error(`${description ?? ""} tx NOT included into block: hash: ${txIncluded.hash} status: ${txIncluded.status}, errors: ${String(txIncluded.errors ?? "")}`);
|
85
|
+
}
|
88
86
|
if (chain !== "local") {
|
89
87
|
// we still wait for the tx to be included in the block by checking the nonce
|
90
88
|
// even in the case of tx NOT included
|
@@ -99,22 +97,32 @@ export async function sendTx(params) {
|
|
99
97
|
if (newNonce &&
|
100
98
|
Number(newNonce.toBigint()) > Number(nonce.toBigint())) {
|
101
99
|
const txIncluded = await txSent.safeWait();
|
102
|
-
if (txIncluded.status === "included")
|
100
|
+
if (txIncluded.status === "included") {
|
101
|
+
if (verbose)
|
102
|
+
console.log(`${description ?? ""} tx included into block: hash: ${txIncluded.hash} status: ${txIncluded.status}`);
|
103
|
+
if (delay > 0)
|
104
|
+
await sleep(delay);
|
103
105
|
return txIncluded;
|
106
|
+
}
|
104
107
|
else if (txIncluded.status === "rejected") {
|
105
108
|
// We never should see this error as the nonce is updated (except when tx failed due to a preconditions),
|
106
109
|
// so we retry to check if the tx is included
|
107
110
|
await sleep(30000);
|
108
111
|
const txIncluded = await txSent.safeWait();
|
109
|
-
if (txIncluded.status === "included")
|
112
|
+
if (txIncluded.status === "included") {
|
113
|
+
if (verbose)
|
114
|
+
console.log(`${description ?? ""} tx included into block: hash: ${txIncluded.hash} status: ${txIncluded.status}`);
|
115
|
+
if (delay > 0)
|
116
|
+
await sleep(delay);
|
110
117
|
return txIncluded;
|
118
|
+
}
|
111
119
|
console.error(`tx failed: ${chain} tx rejected: hash: ${txIncluded.hash} status: ${txIncluded.status} errors: ${txIncluded.errors}`);
|
112
120
|
return txIncluded;
|
113
121
|
}
|
114
122
|
}
|
115
123
|
if (verbose)
|
116
124
|
console.log(`Waiting for ${chain} to update state for ${Math.floor((Date.now() - started) / 1000)} sec...`);
|
117
|
-
await sleep(
|
125
|
+
await sleep(30000);
|
118
126
|
}
|
119
127
|
// finally, if the tx is still not included, show an error
|
120
128
|
console.error(`${chain} do not reflect nonce update for tx ${txIncluded.hash} with status ${txIncluded.status}`);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../../src/mina/transactions/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAC;AAG7C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../../src/mina/transactions/send.ts"],"names":[],"mappings":"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"}
|
@@ -18,6 +18,7 @@ export declare function sendTx(params: {
|
|
18
18
|
verbose?: boolean;
|
19
19
|
wait?: boolean;
|
20
20
|
chain?: blockchain;
|
21
|
+
delay?: number;
|
21
22
|
}): Promise<Mina.IncludedTransaction | Mina.PendingTransaction | Mina.RejectedTransaction | undefined>;
|
22
23
|
export declare function getTxStatusFast(params: {
|
23
24
|
hash: string;
|
@@ -15,7 +15,7 @@ import { getCurrentNetwork } from "../utils/mina.js";
|
|
15
15
|
* `Mina.RejectedTransaction`, or `undefined` if there was an error during the process.
|
16
16
|
*/
|
17
17
|
export async function sendTx(params) {
|
18
|
-
const { tx, description = "", verbose = true, wait = true, chain = getCurrentNetwork().network.chainId, } = params;
|
18
|
+
const { tx, description = "", verbose = true, wait = true, chain = getCurrentNetwork().network.chainId, delay = chain === "zeko" ? 5000 : 30000, } = params;
|
19
19
|
// flatten accountUpdates
|
20
20
|
const accountUpdates = JSON.parse(tx.toJSON()).accountUpdates;
|
21
21
|
const auCount = [];
|
@@ -80,11 +80,9 @@ export async function sendTx(params) {
|
|
80
80
|
if (verbose)
|
81
81
|
console.log(`Waiting for tx inclusion...`);
|
82
82
|
let txIncluded = await txSent.safeWait();
|
83
|
-
if (txIncluded.status
|
84
|
-
|
85
|
-
|
86
|
-
else
|
87
|
-
console.error(`${description ?? ""} tx NOT included into block: hash: ${txIncluded.hash} status: ${txIncluded.status}`);
|
83
|
+
if (txIncluded.status !== "included") {
|
84
|
+
console.error(`${description ?? ""} tx NOT included into block: hash: ${txIncluded.hash} status: ${txIncluded.status}, errors: ${String(txIncluded.errors ?? "")}`);
|
85
|
+
}
|
88
86
|
if (chain !== "local") {
|
89
87
|
// we still wait for the tx to be included in the block by checking the nonce
|
90
88
|
// even in the case of tx NOT included
|
@@ -99,22 +97,32 @@ export async function sendTx(params) {
|
|
99
97
|
if (newNonce &&
|
100
98
|
Number(newNonce.toBigint()) > Number(nonce.toBigint())) {
|
101
99
|
const txIncluded = await txSent.safeWait();
|
102
|
-
if (txIncluded.status === "included")
|
100
|
+
if (txIncluded.status === "included") {
|
101
|
+
if (verbose)
|
102
|
+
console.log(`${description ?? ""} tx included into block: hash: ${txIncluded.hash} status: ${txIncluded.status}`);
|
103
|
+
if (delay > 0)
|
104
|
+
await sleep(delay);
|
103
105
|
return txIncluded;
|
106
|
+
}
|
104
107
|
else if (txIncluded.status === "rejected") {
|
105
108
|
// We never should see this error as the nonce is updated (except when tx failed due to a preconditions),
|
106
109
|
// so we retry to check if the tx is included
|
107
110
|
await sleep(30000);
|
108
111
|
const txIncluded = await txSent.safeWait();
|
109
|
-
if (txIncluded.status === "included")
|
112
|
+
if (txIncluded.status === "included") {
|
113
|
+
if (verbose)
|
114
|
+
console.log(`${description ?? ""} tx included into block: hash: ${txIncluded.hash} status: ${txIncluded.status}`);
|
115
|
+
if (delay > 0)
|
116
|
+
await sleep(delay);
|
110
117
|
return txIncluded;
|
118
|
+
}
|
111
119
|
console.error(`tx failed: ${chain} tx rejected: hash: ${txIncluded.hash} status: ${txIncluded.status} errors: ${txIncluded.errors}`);
|
112
120
|
return txIncluded;
|
113
121
|
}
|
114
122
|
}
|
115
123
|
if (verbose)
|
116
124
|
console.log(`Waiting for ${chain} to update state for ${Math.floor((Date.now() - started) / 1000)} sec...`);
|
117
|
-
await sleep(
|
125
|
+
await sleep(30000);
|
118
126
|
}
|
119
127
|
// finally, if the tx is still not included, show an error
|
120
128
|
console.error(`${chain} do not reflect nonce update for tx ${txIncluded.hash} with status ${txIncluded.status}`);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../../src/mina/transactions/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,MAAM,CAAC;AAG7C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../../src/mina/transactions/send.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -23,6 +23,7 @@ export async function sendTx(params: {
|
|
23
23
|
verbose?: boolean;
|
24
24
|
wait?: boolean;
|
25
25
|
chain?: blockchain;
|
26
|
+
delay?: number;
|
26
27
|
}): Promise<
|
27
28
|
| Mina.IncludedTransaction
|
28
29
|
| Mina.PendingTransaction
|
@@ -35,6 +36,7 @@ export async function sendTx(params: {
|
|
35
36
|
verbose = true,
|
36
37
|
wait = true,
|
37
38
|
chain = getCurrentNetwork().network.chainId,
|
39
|
+
delay = chain === "zeko" ? 5000 : 30000,
|
38
40
|
} = params;
|
39
41
|
// flatten accountUpdates
|
40
42
|
const accountUpdates = JSON.parse(tx.toJSON()).accountUpdates;
|
@@ -118,19 +120,15 @@ export async function sendTx(params: {
|
|
118
120
|
if (txSent.status === "pending" && wait !== false && chain !== "zeko") {
|
119
121
|
if (verbose) console.log(`Waiting for tx inclusion...`);
|
120
122
|
let txIncluded = await txSent.safeWait();
|
121
|
-
if (txIncluded.status
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
)
|
128
|
-
|
129
|
-
|
130
|
-
`${description ?? ""} tx NOT included into block: hash: ${
|
131
|
-
txIncluded.hash
|
132
|
-
} status: ${txIncluded.status}`
|
133
|
-
);
|
123
|
+
if (txIncluded.status !== "included") {
|
124
|
+
console.error(
|
125
|
+
`${description ?? ""} tx NOT included into block: hash: ${
|
126
|
+
txIncluded.hash
|
127
|
+
} status: ${txIncluded.status}, errors: ${String(
|
128
|
+
txIncluded.errors ?? ""
|
129
|
+
)}`
|
130
|
+
);
|
131
|
+
}
|
134
132
|
if (chain !== "local") {
|
135
133
|
// we still wait for the tx to be included in the block by checking the nonce
|
136
134
|
// even in the case of tx NOT included
|
@@ -149,13 +147,30 @@ export async function sendTx(params: {
|
|
149
147
|
Number(newNonce.toBigint()) > Number(nonce.toBigint())
|
150
148
|
) {
|
151
149
|
const txIncluded = await txSent.safeWait();
|
152
|
-
if (txIncluded.status === "included")
|
153
|
-
|
150
|
+
if (txIncluded.status === "included") {
|
151
|
+
if (verbose)
|
152
|
+
console.log(
|
153
|
+
`${description ?? ""} tx included into block: hash: ${
|
154
|
+
txIncluded.hash
|
155
|
+
} status: ${txIncluded.status}`
|
156
|
+
);
|
157
|
+
if (delay > 0) await sleep(delay);
|
158
|
+
return txIncluded;
|
159
|
+
} else if (txIncluded.status === "rejected") {
|
154
160
|
// We never should see this error as the nonce is updated (except when tx failed due to a preconditions),
|
155
161
|
// so we retry to check if the tx is included
|
156
162
|
await sleep(30000);
|
157
163
|
const txIncluded = await txSent.safeWait();
|
158
|
-
if (txIncluded.status === "included")
|
164
|
+
if (txIncluded.status === "included") {
|
165
|
+
if (verbose)
|
166
|
+
console.log(
|
167
|
+
`${description ?? ""} tx included into block: hash: ${
|
168
|
+
txIncluded.hash
|
169
|
+
} status: ${txIncluded.status}`
|
170
|
+
);
|
171
|
+
if (delay > 0) await sleep(delay);
|
172
|
+
return txIncluded;
|
173
|
+
}
|
159
174
|
console.error(
|
160
175
|
`tx failed: ${chain} tx rejected: hash: ${txIncluded.hash} status: ${txIncluded.status} errors: ${txIncluded.errors}`
|
161
176
|
);
|
@@ -168,7 +183,7 @@ export async function sendTx(params: {
|
|
168
183
|
(Date.now() - started) / 1000
|
169
184
|
)} sec...`
|
170
185
|
);
|
171
|
-
await sleep(
|
186
|
+
await sleep(30000);
|
172
187
|
}
|
173
188
|
// finally, if the tx is still not included, show an error
|
174
189
|
console.error(
|