zkcloudworker 0.17.3 → 0.17.6
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/lib/ts/src/mina/index.d.ts +1 -0
- package/lib/ts/src/mina/index.js +1 -0
- package/lib/ts/src/mina/storage/index.d.ts +3 -0
- package/lib/ts/src/mina/storage/index.js +19 -0
- package/lib/ts/src/mina/storage/pinata.d.ts +6 -0
- package/lib/ts/src/mina/storage/pinata.js +36 -0
- package/lib/ts/src/mina/storage/storage.d.ts +75 -0
- package/lib/ts/src/mina/storage/storage.js +55 -0
- package/lib/ts/src/mina/transactions/account.d.ts +4 -0
- package/lib/ts/src/mina/transactions/account.js +48 -0
- package/lib/ts/src/mina/transactions/index.d.ts +2 -0
- package/lib/ts/src/mina/transactions/index.js +2 -0
- package/lib/ts/src/mina/transactions/nonce.d.ts +7 -0
- package/lib/ts/src/mina/transactions/nonce.js +33 -0
- package/lib/ts/src/mina/transactions/send.d.ts +29 -0
- package/lib/ts/src/mina/transactions/send.js +131 -0
- package/lib/ts/src/mina/transactions/txstatus.d.ts +1 -1
- package/lib/ts/src/mina/transactions/txstatus.js +2 -2
- package/lib/ts/src/mina/utils/index.d.ts +0 -1
- package/lib/ts/src/mina/utils/index.js +0 -1
- package/lib/ts/src/mina/utils/indexed-map.d.ts +9 -0
- package/lib/ts/src/mina/utils/indexed-map.js +13 -0
- package/lib/ts/tsconfig.tsbuildinfo +1 -1
- package/lib/web/src/mina/index.d.ts +1 -0
- package/lib/web/src/mina/index.js +1 -0
- package/lib/web/src/mina/index.js.map +1 -1
- package/lib/web/src/mina/storage/index.d.ts +3 -0
- package/lib/web/src/mina/storage/index.js +4 -0
- package/lib/web/src/mina/storage/index.js.map +1 -0
- package/lib/web/src/mina/storage/ipfs.js.map +1 -0
- package/lib/web/src/mina/storage/pinata.d.ts +6 -0
- package/lib/web/src/mina/storage/pinata.js +34 -0
- package/lib/web/src/mina/storage/pinata.js.map +1 -0
- package/lib/web/src/mina/storage/storage.d.ts +75 -0
- package/lib/web/src/mina/storage/storage.js +52 -0
- package/lib/web/src/mina/storage/storage.js.map +1 -0
- package/lib/web/src/mina/token/FungibleTokenAdmin.js.map +1 -1
- package/lib/web/src/mina/transactions/account.d.ts +4 -0
- package/lib/web/src/mina/transactions/account.js +44 -0
- package/lib/web/src/mina/transactions/account.js.map +1 -0
- package/lib/web/src/mina/transactions/index.d.ts +2 -0
- package/lib/web/src/mina/transactions/index.js +2 -0
- package/lib/web/src/mina/transactions/index.js.map +1 -1
- package/lib/web/src/mina/transactions/nonce.d.ts +7 -0
- package/lib/web/src/mina/transactions/nonce.js +32 -0
- package/lib/web/src/mina/transactions/nonce.js.map +1 -1
- package/lib/web/src/mina/transactions/send.d.ts +29 -0
- package/lib/web/src/mina/transactions/send.js +128 -0
- package/lib/web/src/mina/transactions/send.js.map +1 -0
- package/lib/web/src/mina/transactions/txstatus.d.ts +1 -1
- package/lib/web/src/mina/transactions/txstatus.js +1 -1
- package/lib/web/src/mina/transactions/txstatus.js.map +1 -1
- package/lib/web/src/mina/utils/index.d.ts +0 -1
- package/lib/web/src/mina/utils/index.js +0 -1
- package/lib/web/src/mina/utils/index.js.map +1 -1
- package/lib/web/src/mina/utils/indexed-map.d.ts +9 -0
- package/lib/web/src/mina/utils/indexed-map.js +12 -0
- package/lib/web/src/mina/utils/indexed-map.js.map +1 -1
- package/lib/web/tsconfig.web.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/lib/web/src/mina/utils/ipfs.js.map +0 -1
- /package/lib/ts/src/mina/{utils → storage}/ipfs.d.ts +0 -0
- /package/lib/ts/src/mina/{utils → storage}/ipfs.js +0 -0
- /package/lib/web/src/mina/{utils → storage}/ipfs.d.ts +0 -0
- /package/lib/web/src/mina/{utils → storage}/ipfs.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FungibleTokenAdmin.js","sourceRoot":"","sources":["../../../../../../src/mina/token/FungibleTokenAdmin.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,MAAM,EACN,IAAI,EAEJ,MAAM,EACN,WAAW,EACX,QAAQ,EACR,SAAS,EACT,aAAa,EACb,KAAK,EACL,KAAK,EACL,eAAe,GAChB,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"FungibleTokenAdmin.js","sourceRoot":"","sources":["../../../../../../src/mina/token/FungibleTokenAdmin.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,MAAM,EACN,IAAI,EAEJ,MAAM,EACN,WAAW,EACX,QAAQ,EACR,SAAS,EACT,aAAa,EACb,KAAK,EACL,KAAK,EACL,eAAe,GAChB,MAAM,MAAM,CAAC;AAcd;;;;;;;GAOG;AACH,MAAM,OAAO,kBACX,SAAQ,aAAa;IADvB;;QAKU,mBAAc,GAAG,KAAK,EAAa,CAAC;IAsD9C,CAAC;IApDC,KAAK,CAAC,MAAM,CAAC,KAAoC;QAC/C,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC;YAC3B,GAAG,WAAW,CAAC,OAAO,EAAE;YACxB,kBAAkB,EAChB,WAAW,CAAC,eAAe,CAAC,8BAA8B,EAAE;YAC9D,cAAc,EAAE,WAAW,CAAC,UAAU,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,qBAAqB,CAAC,EAAmB;QAC7C,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC9D,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC3C,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,kCAAkC,CAAC,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAGY,AAAN,KAAK,CAAC,OAAO,CAAC,cAA6B;QAChD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAGY,AAAN,KAAK,CAAC,cAAc,CAAC,MAAiB;QAC3C,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAGY,AAAN,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAGY,AAAN,KAAK,CAAC,SAAS;QACpB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;CACF;AAtDS;IADP,KAAK,CAAC,SAAS,CAAC;;0DAC2B;AAiBtC;IADL,MAAM;;qCACyB,eAAe;;+DAE9C;AAaY;IADZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;qCACgB,aAAa;;iDAGjD;AAGY;IADZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;qCACe,SAAS;;wDAG5C;AAGY;IADZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;kDAIpB;AAGY;IADZ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;;;;mDAIpB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PublicKey, Field } from "o1js";
|
|
2
|
+
export declare function accountExists(address: string | PublicKey, tokenId?: Field): Promise<boolean>;
|
|
3
|
+
export declare function tokenBalance(address: string | PublicKey, tokenId?: Field): Promise<number | undefined>;
|
|
4
|
+
export declare function checkAddress(address: string | undefined): Promise<boolean>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { fetchMinaAccount } from "..";
|
|
2
|
+
import { Mina, PublicKey } from "o1js";
|
|
3
|
+
export async function accountExists(address, tokenId) {
|
|
4
|
+
try {
|
|
5
|
+
const publicKey = typeof address === "string" ? PublicKey.fromBase58(address) : address;
|
|
6
|
+
await fetchMinaAccount({ publicKey, tokenId, force: false });
|
|
7
|
+
return Mina.hasAccount(publicKey, tokenId);
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export async function tokenBalance(address, tokenId) {
|
|
14
|
+
try {
|
|
15
|
+
const publicKey = typeof address === "string" ? PublicKey.fromBase58(address) : address;
|
|
16
|
+
await fetchMinaAccount({ publicKey, tokenId, force: false });
|
|
17
|
+
return Mina.hasAccount(publicKey, tokenId)
|
|
18
|
+
? Number(Mina.getAccount(publicKey, tokenId).balance.toBigInt())
|
|
19
|
+
: undefined;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
console.error("Cannot fetch account balance", error);
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export async function checkAddress(address) {
|
|
27
|
+
if (!address || typeof address !== "string") {
|
|
28
|
+
console.error("checkAddress params are invalid:", address);
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
const publicKey = PublicKey.fromBase58(address);
|
|
33
|
+
if (address !== publicKey.toBase58()) {
|
|
34
|
+
console.log("checkAddress: address is not valid", address, publicKey.toBase58());
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
console.error("checkAddress catch", { address, error });
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAS,MAAM,MAAM,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA2B,EAC3B,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,SAAS,GACb,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACxE,MAAM,gBAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA2B,EAC3B,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,SAAS,GACb,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACxE,MAAM,gBAAgB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC;YACxC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAChE,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA2B;IAE3B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CACT,oCAAoC,EACpC,OAAO,EACP,SAAS,CAAC,QAAQ,EAAE,CACrB,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BlockBerryChain } from "./chain";
|
|
2
|
+
import { blockchain } from "../../cloud";
|
|
2
3
|
export declare function getNonce(params: {
|
|
3
4
|
account: string;
|
|
4
5
|
chain: BlockBerryChain;
|
|
@@ -8,3 +9,9 @@ export declare function getNonce(params: {
|
|
|
8
9
|
nonce: number;
|
|
9
10
|
message?: string;
|
|
10
11
|
}>;
|
|
12
|
+
export declare function getAccountNonce(params: {
|
|
13
|
+
account: string;
|
|
14
|
+
chain?: blockchain;
|
|
15
|
+
blockBerryApiKey?: string;
|
|
16
|
+
verbose?: boolean;
|
|
17
|
+
}): Promise<number>;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { getZkAppTxsFromBlockBerry, getPaymentTxsFromBlockBerry, } from "./blockberry";
|
|
2
|
+
import { fetchMinaAccount, getCurrentNetwork } from "..";
|
|
3
|
+
import { Mina, PublicKey } from "o1js";
|
|
2
4
|
export async function getNonce(params) {
|
|
3
5
|
const { account, chain, blockBerryApiKey } = params;
|
|
4
6
|
try {
|
|
@@ -55,4 +57,34 @@ export async function getNonce(params) {
|
|
|
55
57
|
};
|
|
56
58
|
}
|
|
57
59
|
}
|
|
60
|
+
export async function getAccountNonce(params) {
|
|
61
|
+
const { account, chain = getCurrentNetwork().network.chainId, blockBerryApiKey, verbose = true, } = params;
|
|
62
|
+
const canUseBlockBerry = blockBerryApiKey !== undefined &&
|
|
63
|
+
(chain === "devnet" || chain === "mainnet");
|
|
64
|
+
if (chain === "zeko") {
|
|
65
|
+
const publicKey = PublicKey.fromBase58(account);
|
|
66
|
+
await fetchMinaAccount({ publicKey });
|
|
67
|
+
const nonce = Number(Mina.getAccount(publicKey).nonce.toBigint());
|
|
68
|
+
return nonce;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const blockberryNoncePromise = canUseBlockBerry
|
|
72
|
+
? getNonce({
|
|
73
|
+
account,
|
|
74
|
+
blockBerryApiKey,
|
|
75
|
+
chain,
|
|
76
|
+
})
|
|
77
|
+
: undefined;
|
|
78
|
+
const publicKey = PublicKey.fromBase58(account);
|
|
79
|
+
await fetchMinaAccount({ publicKey });
|
|
80
|
+
const senderNonce = Number(Mina.getAccount(publicKey).nonce.toBigint());
|
|
81
|
+
const blockberryNonce = blockberryNoncePromise
|
|
82
|
+
? (await blockberryNoncePromise).nonce ?? -1
|
|
83
|
+
: -1;
|
|
84
|
+
const nonce = Math.max(senderNonce, blockberryNonce + 1);
|
|
85
|
+
if (verbose && nonce > senderNonce)
|
|
86
|
+
console.log(`Nonce changed from ${senderNonce} to ${nonce} for ${account}`);
|
|
87
|
+
return nonce;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
58
90
|
//# sourceMappingURL=nonce.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nonce.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/nonce.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"nonce.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/nonce.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Mina } from "o1js";
|
|
2
|
+
import { blockchain } from "../../cloud";
|
|
3
|
+
/**
|
|
4
|
+
* The function `sendTx` sends a transaction, checks account updates, and waits for
|
|
5
|
+
* confirmation on the blockchain.
|
|
6
|
+
* @param params The parameters object
|
|
7
|
+
* @param params.tx The transaction to send
|
|
8
|
+
* @param params.description A description of the transaction
|
|
9
|
+
* @param params.verbose Whether to log verbose information
|
|
10
|
+
* @param params.wait Whether to wait for the transaction to be included in a block
|
|
11
|
+
* @param params.chain The blockchain to send the transaction on
|
|
12
|
+
* @returns The `sendTx` function returns a `Mina.IncludedTransaction`, `Mina.PendingTransaction`,
|
|
13
|
+
* `Mina.RejectedTransaction`, or `undefined` if there was an error during the process.
|
|
14
|
+
*/
|
|
15
|
+
export declare function sendTx(params: {
|
|
16
|
+
tx: Mina.Transaction<false, true> | Mina.Transaction<true, true>;
|
|
17
|
+
description?: string;
|
|
18
|
+
verbose?: boolean;
|
|
19
|
+
wait?: boolean;
|
|
20
|
+
chain?: blockchain;
|
|
21
|
+
}): Promise<Mina.IncludedTransaction | Mina.PendingTransaction | Mina.RejectedTransaction | undefined>;
|
|
22
|
+
export declare function getTxStatusFast(params: {
|
|
23
|
+
hash: string;
|
|
24
|
+
chain?: blockchain;
|
|
25
|
+
}): Promise<{
|
|
26
|
+
success: boolean;
|
|
27
|
+
result?: boolean;
|
|
28
|
+
error?: string;
|
|
29
|
+
}>;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { checkZkappTransaction } from "o1js";
|
|
2
|
+
import { sleep } from "../../cloud";
|
|
3
|
+
import { fetchMinaAccount, getCurrentNetwork } from "..";
|
|
4
|
+
/**
|
|
5
|
+
* The function `sendTx` sends a transaction, checks account updates, and waits for
|
|
6
|
+
* confirmation on the blockchain.
|
|
7
|
+
* @param params The parameters object
|
|
8
|
+
* @param params.tx The transaction to send
|
|
9
|
+
* @param params.description A description of the transaction
|
|
10
|
+
* @param params.verbose Whether to log verbose information
|
|
11
|
+
* @param params.wait Whether to wait for the transaction to be included in a block
|
|
12
|
+
* @param params.chain The blockchain to send the transaction on
|
|
13
|
+
* @returns The `sendTx` function returns a `Mina.IncludedTransaction`, `Mina.PendingTransaction`,
|
|
14
|
+
* `Mina.RejectedTransaction`, or `undefined` if there was an error during the process.
|
|
15
|
+
*/
|
|
16
|
+
export async function sendTx(params) {
|
|
17
|
+
const { tx, description = "", verbose = true, wait = true, chain = getCurrentNetwork().network.chainId, } = params;
|
|
18
|
+
// flatten accountUpdates
|
|
19
|
+
const accountUpdates = JSON.parse(tx.toJSON()).accountUpdates;
|
|
20
|
+
const auCount = [];
|
|
21
|
+
let proofAuthorizationCount = 0;
|
|
22
|
+
// Calculate the number of account updates for each { publicKey, tokenId }
|
|
23
|
+
for (const au of accountUpdates) {
|
|
24
|
+
const { publicKey, tokenId, authorizationKind } = au.body;
|
|
25
|
+
if (au.authorization.proof) {
|
|
26
|
+
proofAuthorizationCount++;
|
|
27
|
+
if (authorizationKind.isProved === false)
|
|
28
|
+
console.error("Proof authorization exists but isProved is false");
|
|
29
|
+
}
|
|
30
|
+
else if (authorizationKind.isProved === true)
|
|
31
|
+
console.error("isProved is true but no proof authorization");
|
|
32
|
+
const index = auCount.findIndex((item) => item.publicKey === publicKey && item.tokenId === tokenId);
|
|
33
|
+
if (index === -1)
|
|
34
|
+
auCount.push({ publicKey, tokenId, count: 1 });
|
|
35
|
+
else
|
|
36
|
+
auCount[index].count++;
|
|
37
|
+
}
|
|
38
|
+
if (verbose)
|
|
39
|
+
console.log(`Account updates for ${description ?? "tx"}: ${auCount.length}, proof authorizations: ${proofAuthorizationCount}`);
|
|
40
|
+
for (const au of auCount) {
|
|
41
|
+
if (au.count > 1)
|
|
42
|
+
if (verbose)
|
|
43
|
+
console.log(`DUPLICATE AU ${description ?? ""}: ${au.publicKey} ${au.tokenId !== "wSHV2S4qX9jFsLjQo8r1BsMLH2ZRKsZx6EJd1sbozGPieEC4Jf"
|
|
44
|
+
? "tokenId: " + au.tokenId
|
|
45
|
+
: ""} count: ${au.count}`);
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
let txSent;
|
|
49
|
+
let sent = false;
|
|
50
|
+
while (!sent) {
|
|
51
|
+
txSent = await tx.safeSend();
|
|
52
|
+
if (txSent.status == "pending") {
|
|
53
|
+
sent = true;
|
|
54
|
+
if (verbose)
|
|
55
|
+
console.log(`${description ?? ""} tx sent: hash: ${txSent.hash} status: ${txSent.status}`);
|
|
56
|
+
}
|
|
57
|
+
else if (chain === "zeko") {
|
|
58
|
+
if (verbose)
|
|
59
|
+
console.log("Retrying Zeko tx");
|
|
60
|
+
await sleep(10000);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
console.error(`${description} tx NOT sent: hash: ${txSent?.hash} status: ${txSent?.status}`, txSent.errors);
|
|
64
|
+
return txSent;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (txSent === undefined)
|
|
68
|
+
throw new Error("txSent is undefined");
|
|
69
|
+
if (txSent.errors.length > 0) {
|
|
70
|
+
console.error(`${description ?? ""} tx error: hash: ${txSent.hash} status: ${txSent.status} errors: ${txSent.errors}`);
|
|
71
|
+
}
|
|
72
|
+
if (txSent.status === "pending" && wait !== false && chain !== "zeko") {
|
|
73
|
+
if (verbose)
|
|
74
|
+
console.log(`Waiting for tx inclusion...`);
|
|
75
|
+
const txIncluded = await txSent.safeWait();
|
|
76
|
+
if (txIncluded.status === "included")
|
|
77
|
+
if (verbose)
|
|
78
|
+
console.log(`${description ?? ""} tx included into block: hash: ${txIncluded.hash} status: ${txIncluded.status}`);
|
|
79
|
+
else
|
|
80
|
+
console.error(`${description ?? ""} tx NOT included into block: hash: ${txIncluded.hash} status: ${txIncluded.status}`);
|
|
81
|
+
if (chain !== "local") {
|
|
82
|
+
// we still wait for the tx to be included in the block by checking the nonce
|
|
83
|
+
// even in the case of tx NOT included
|
|
84
|
+
// because the tx might still be included in the block in the case of devnet instability
|
|
85
|
+
const { publicKey, nonce } = tx.transaction.feePayer.body;
|
|
86
|
+
const started = Date.now();
|
|
87
|
+
while (Date.now() - started < 1000 * 60 * 10) {
|
|
88
|
+
const newNonce = (await fetchMinaAccount({
|
|
89
|
+
publicKey,
|
|
90
|
+
force: true,
|
|
91
|
+
})).account?.nonce;
|
|
92
|
+
if (newNonce &&
|
|
93
|
+
Number(newNonce.toBigint()) > Number(nonce.toBigint()))
|
|
94
|
+
return txIncluded;
|
|
95
|
+
if (verbose)
|
|
96
|
+
console.log(`Waiting for ${chain} to update state for ${Math.floor((Date.now() - started) / 1000)} sec...`);
|
|
97
|
+
await sleep(10000);
|
|
98
|
+
}
|
|
99
|
+
// finally, if the tx is still not included, show an error
|
|
100
|
+
console.error(`${chain} do not reflect nonce update for tx ${txIncluded.hash} with status ${txIncluded.status}`);
|
|
101
|
+
}
|
|
102
|
+
return txIncluded;
|
|
103
|
+
}
|
|
104
|
+
else
|
|
105
|
+
return txSent;
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
if (chain !== "zeko")
|
|
109
|
+
console.error("Error sending tx", error);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
export async function getTxStatusFast(params) {
|
|
113
|
+
const { hash, chain = getCurrentNetwork().network.chainId } = params;
|
|
114
|
+
if (chain === "local" || chain === "zeko")
|
|
115
|
+
return { success: true, result: true };
|
|
116
|
+
try {
|
|
117
|
+
const txStatus = await checkZkappTransaction(hash);
|
|
118
|
+
return {
|
|
119
|
+
success: true,
|
|
120
|
+
result: txStatus?.success ?? false,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
console.error("getTxStatusFast error while getting tx status - catch", hash, error);
|
|
125
|
+
return { success: false, error: error?.message ?? "Cannot get tx status" };
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=send.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/send.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getZkAppTxFromBlockBerry } from "./blockberry";
|
|
2
2
|
const TIMEOUT = 1000 * 60 * 21;
|
|
3
|
-
export async function
|
|
3
|
+
export async function txStatusBlockberry(params) {
|
|
4
4
|
const { hash, chain, time, blockBerryApiKey } = params;
|
|
5
5
|
const tx = await getZkAppTxFromBlockBerry({ hash, chain, blockBerryApiKey });
|
|
6
6
|
if (tx?.txStatus)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txstatus.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/txstatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"txstatus.js","sourceRoot":"","sources":["../../../../../../src/mina/transactions/txstatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAMxC;IACC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IAEvD,MAAM,EAAE,GAAG,MAAM,wBAAwB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7E,IAAI,EAAE,EAAE,QAAQ;QAAE,OAAO,EAAE,EAAE,QAAQ,CAAC;IACtC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CACX,qDAAqD,EACrD,KAAK,EACL,IAAI,CACL,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/mina/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/mina/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
|
|
@@ -12,6 +12,15 @@ export declare function loadIndexedMerkleMap(params: {
|
|
|
12
12
|
url: string;
|
|
13
13
|
type: ReturnType<typeof IndexedMerkleMap>;
|
|
14
14
|
}): Promise<import("o1js/dist/node/lib/provable/merkle-tree-indexed").IndexedMerkleMapBase>;
|
|
15
|
+
export declare function saveIndexedMerkleMap(params: {
|
|
16
|
+
map: IndexedMerkleMap;
|
|
17
|
+
name?: string;
|
|
18
|
+
keyvalues?: {
|
|
19
|
+
key: string;
|
|
20
|
+
value: string;
|
|
21
|
+
}[];
|
|
22
|
+
auth: string;
|
|
23
|
+
}): Promise<string | undefined>;
|
|
15
24
|
export declare function serializeIndexedMap(map: IndexedMerkleMap): IndexedMapSerialized;
|
|
16
25
|
export declare function deserializeIndexedMerkleMap(params: {
|
|
17
26
|
serializedIndexedMap: IndexedMapSerialized;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Experimental, Field } from "o1js";
|
|
2
2
|
import { bigintToBase64, bigintFromBase64 } from "../../cloud";
|
|
3
|
+
import { pinJSON } from "../storage/pinata";
|
|
3
4
|
const { IndexedMerkleMap } = Experimental;
|
|
4
5
|
export async function loadIndexedMerkleMap(params) {
|
|
5
6
|
const { url, type } = params;
|
|
@@ -17,6 +18,17 @@ export async function loadIndexedMerkleMap(params) {
|
|
|
17
18
|
}
|
|
18
19
|
return map;
|
|
19
20
|
}
|
|
21
|
+
export async function saveIndexedMerkleMap(params) {
|
|
22
|
+
const { map, name = "indexed-map", keyvalues, auth } = params;
|
|
23
|
+
const serialized = serializeIndexedMap(map);
|
|
24
|
+
const ipfsHash = await pinJSON({
|
|
25
|
+
data: serialized,
|
|
26
|
+
name,
|
|
27
|
+
keyvalues,
|
|
28
|
+
auth,
|
|
29
|
+
});
|
|
30
|
+
return ipfsHash;
|
|
31
|
+
}
|
|
20
32
|
export function serializeIndexedMap(map) {
|
|
21
33
|
return {
|
|
22
34
|
height: map.height,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexed-map.js","sourceRoot":"","sources":["../../../../../../src/mina/utils/indexed-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"indexed-map.js","sourceRoot":"","sources":["../../../../../../src/mina/utils/indexed-map.ts"],"names":[],"mappings":"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"}
|