@zoralabs/protocol-sdk 0.11.10 → 0.11.11-DEV.0
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/.env +3 -0
- package/.turbo/turbo-build.log +18 -18
- package/CHANGELOG.md +7 -0
- package/dist/anvil.d.ts +1 -12
- package/dist/anvil.d.ts.map +1 -1
- package/dist/test-utils.d.ts +12 -2
- package/dist/test-utils.d.ts.map +1 -1
- package/dist/waitForSuccess.d.ts +4 -0
- package/dist/waitForSuccess.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/comments/comments.test.ts +4 -2
- package/src/create/1155-create-helper.test.ts +3 -4
- package/src/fixtures/contract-setup.ts +1 -1
- package/src/fixtures/secondary.ts +1 -1
- package/src/mint/mint-client.test.ts +2 -1
- package/src/rewards/rewards-client.test.ts +2 -5
- package/src/secondary/secondary-client.test.ts +2 -5
- package/src/sparks/sparks-contracts-test.ts +1 -4
- package/src/test-utils.ts +56 -12
- package/src/waitForSuccess.ts +13 -0
- package/yarn-error.log +8602 -0
package/.env
ADDED
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
> @zoralabs/protocol-sdk@0.11.
|
|
3
|
-
> pnpm tsup
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
|
|
2
|
+
> @zoralabs/protocol-sdk@0.11.11-DEV.0 build /Users/danovedzora/source/zora-protocol/packages/protocol-sdk
|
|
3
|
+
> pnpm tsup
|
|
4
|
+
|
|
5
|
+
[34mCLI[39m Building entry: src/index.ts
|
|
6
|
+
[34mCLI[39m Using tsconfig: tsconfig.build.json
|
|
7
|
+
[34mCLI[39m tsup v7.3.0
|
|
8
|
+
[34mCLI[39m Using tsup config: /Users/danovedzora/source/zora-protocol/packages/protocol-sdk/tsup.config.ts
|
|
9
|
+
[34mCLI[39m Target: es2021
|
|
10
|
+
[34mCLI[39m Cleaning output folder
|
|
11
|
+
[34mCJS[39m Build start
|
|
12
|
+
[34mESM[39m Build start
|
|
13
|
+
[32mCJS[39m [1mdist/index.cjs [22m[32m229.00 KB[39m
|
|
14
|
+
[32mCJS[39m [1mdist/index.cjs.map [22m[32m463.84 KB[39m
|
|
15
|
+
[32mCJS[39m ⚡️ Build success in 46ms
|
|
16
|
+
[32mESM[39m [1mdist/index.js [22m[32m222.71 KB[39m
|
|
17
|
+
[32mESM[39m [1mdist/index.js.map [22m[32m462.00 KB[39m
|
|
18
|
+
[32mESM[39m ⚡️ Build success in 46ms
|
package/CHANGELOG.md
CHANGED
package/dist/anvil.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SimulateContractParametersWithAccount } from "./types";
|
|
1
|
+
import { Chain, PublicClient, TestClient, Transport, WalletClient } from "viem";
|
|
3
2
|
export interface AnvilViemClientsTest {
|
|
4
3
|
viemClients: {
|
|
5
4
|
walletClient: WalletClient;
|
|
@@ -34,14 +33,4 @@ export declare const anvilTest: import("vitest").TestAPI<{
|
|
|
34
33
|
chain: Chain;
|
|
35
34
|
};
|
|
36
35
|
}>;
|
|
37
|
-
export declare function simulateAndWriteContractWithRetries({ parameters, walletClient, publicClient, }: {
|
|
38
|
-
parameters: SimulateContractParametersWithAccount;
|
|
39
|
-
walletClient: WalletClient;
|
|
40
|
-
publicClient: PublicClient;
|
|
41
|
-
}): Promise<import("viem").TransactionReceipt>;
|
|
42
|
-
export declare function writeContractWithRetries({ request, walletClient, publicClient, }: {
|
|
43
|
-
request: SimulateContractReturnType<any, any, any, Chain, Account>["request"];
|
|
44
|
-
walletClient: WalletClient;
|
|
45
|
-
publicClient: PublicClient;
|
|
46
|
-
}): Promise<import("viem").TransactionReceipt>;
|
|
47
36
|
//# sourceMappingURL=anvil.d.ts.map
|
package/dist/anvil.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anvil.d.ts","sourceRoot":"","sources":["../src/anvil.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"anvil.d.ts","sourceRoot":"","sources":["../src/anvil.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAY,EAKb,MAAM,MAAM,CAAC;AAGd,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE;QACX,YAAY,EAAE,YAAY,CAAC;QAE3B,YAAY,EAAE,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7C,UAAU,EAAE,UAAU,CAAC;QACvB,KAAK,EAAE,KAAK,CAAC;KACd,CAAC;CACH;AAaD,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,aAAa,gDAIvB,qBAAqB;;sBA7BN,YAAY;sBAEZ,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC;oBAChC,UAAU;eACf,KAAK;;EAoFZ,CAAC;AAEL,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AAEF,eAAO,MAAM,SAAS;;sBAhGJ,YAAY;sBAEZ,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC;oBAChC,UAAU;eACf,KAAK;;EAgGd,CAAC"}
|
package/dist/test-utils.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { zoraCreator1155FactoryImplAddress } from "@zoralabs/protocol-deployments";
|
|
2
|
-
import { Address,
|
|
2
|
+
import { Address, PublicClient, Chain, WalletClient, SimulateContractReturnType, Account } from "viem";
|
|
3
3
|
import { NewContractParams } from "./create/types";
|
|
4
|
-
|
|
4
|
+
import { SimulateContractParametersWithAccount } from "./types";
|
|
5
5
|
export declare const getFixedPricedMinter: ({ publicClient, chainId, }: {
|
|
6
6
|
publicClient: PublicClient;
|
|
7
7
|
chainId: keyof typeof zoraCreator1155FactoryImplAddress;
|
|
@@ -12,4 +12,14 @@ export declare const fixedPriceMinterMinterArguments: ({ mintRecipient, }: {
|
|
|
12
12
|
export declare function randomNewContract(): NewContractParams;
|
|
13
13
|
export declare const randomNonce: () => `0x${string}`;
|
|
14
14
|
export declare const thirtySecondsFromNow: () => bigint;
|
|
15
|
+
export declare function simulateAndWriteContractWithRetries({ parameters, walletClient, publicClient, }: {
|
|
16
|
+
parameters: SimulateContractParametersWithAccount;
|
|
17
|
+
walletClient: WalletClient;
|
|
18
|
+
publicClient: PublicClient;
|
|
19
|
+
}): Promise<import("viem").TransactionReceipt>;
|
|
20
|
+
export declare function writeContractWithRetries({ request, walletClient, publicClient, }: {
|
|
21
|
+
request: SimulateContractReturnType<any, any, any, Chain, Account>["request"];
|
|
22
|
+
walletClient: WalletClient;
|
|
23
|
+
publicClient: PublicClient;
|
|
24
|
+
}): Promise<import("viem").TransactionReceipt>;
|
|
15
25
|
//# sourceMappingURL=test-utils.d.ts.map
|
package/dist/test-utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iCAAiC,EAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iCAAiC,EAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,OAAO,EACP,YAAY,EAKZ,KAAK,EACL,YAAY,EACZ,0BAA0B,EAC1B,OAAO,EACR,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,qCAAqC,EAAE,MAAM,SAAS,CAAC;AAEhE,eAAO,MAAM,oBAAoB,+BAG9B;IACD,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,MAAM,OAAO,iCAAiC,CAAC;CACzD,2BAKG,CAAC;AAEL,eAAO,MAAM,+BAA+B,uBAEzC;IACD,aAAa,EAAE,OAAO,CAAC;CACxB,kBAAwE,CAAC;AAI1E,wBAAgB,iBAAiB,IAAI,iBAAiB,CAKrD;AAED,eAAO,MAAM,WAAW,qBAC8B,CAAC;AACvD,eAAO,MAAM,oBAAoB,cACsB,CAAC;AAExD,wBAAsB,mCAAmC,CAAC,EACxD,UAAU,EACV,YAAY,EACZ,YAAY,GACb,EAAE;IACD,UAAU,EAAE,qCAAqC,CAAC;IAClD,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC5B,8CAOA;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,OAAO,EACP,YAAY,EACZ,YAAY,GACb,EAAE;IACD,OAAO,EAAE,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9E,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC5B,8CAuBA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waitForSuccess.d.ts","sourceRoot":"","sources":["../src/waitForSuccess.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAEpC,eAAO,MAAM,cAAc,SAAgB,GAAG,gBAAgB,YAAY,+CAQzE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zoralabs/protocol-sdk",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.11-DEV.0",
|
|
4
4
|
"repository": "https://github.com/ourzora/zora-protocol",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@zoralabs/protocol-deployments": "^0.3.
|
|
19
|
+
"@zoralabs/protocol-deployments": "^0.3.11-DEV.4"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
22
|
"viem": "^2.21.21",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { describe, expect } from "vitest";
|
|
2
|
-
import { forkUrls, makeAnvilTest
|
|
2
|
+
import { forkUrls, makeAnvilTest } from "src/anvil";
|
|
3
|
+
import { writeContractWithRetries } from "src/test-utils";
|
|
3
4
|
import { base, zora } from "viem/chains";
|
|
4
5
|
import {
|
|
5
6
|
commentsABI,
|
|
@@ -25,7 +26,8 @@ import {
|
|
|
25
26
|
hashTypedData,
|
|
26
27
|
} from "viem";
|
|
27
28
|
import { createCreatorClient } from "src/sdk";
|
|
28
|
-
import { randomNewContract
|
|
29
|
+
import { randomNewContract } from "src/test-utils";
|
|
30
|
+
import { waitForSuccess } from "src/waitForSuccess";
|
|
29
31
|
import { permitCommentTypedDataDefinition } from "@zoralabs/protocol-deployments";
|
|
30
32
|
import { demoTokenMetadataURI } from "src/fixtures/contract-setup";
|
|
31
33
|
import { randomNonce, thirtySecondsFromNow } from "src/test-utils";
|
|
@@ -9,15 +9,14 @@ import {
|
|
|
9
9
|
zoraTimedSaleStrategyABI,
|
|
10
10
|
zoraTimedSaleStrategyAddress,
|
|
11
11
|
} from "@zoralabs/protocol-deployments";
|
|
12
|
-
import { waitForSuccess } from "src/
|
|
12
|
+
import { waitForSuccess } from "src/waitForSuccess";
|
|
13
13
|
import { Address, erc20Abi, parseEther, PublicClient } from "viem";
|
|
14
14
|
import { makePrepareMint1155TokenParams } from "src/mint/mint-transactions";
|
|
15
|
+
import { forkUrls, makeAnvilTest } from "src/anvil";
|
|
15
16
|
import {
|
|
16
|
-
forkUrls,
|
|
17
|
-
makeAnvilTest,
|
|
18
17
|
simulateAndWriteContractWithRetries,
|
|
19
18
|
writeContractWithRetries,
|
|
20
|
-
} from "src/
|
|
19
|
+
} from "src/test-utils";
|
|
21
20
|
import { zora } from "viem/chains";
|
|
22
21
|
import { AllowList } from "src/allow-list/types";
|
|
23
22
|
import { createAllowList } from "src/allow-list/allow-list-client";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Address, Chain, PublicClient, WalletClient } from "viem";
|
|
2
|
-
import { simulateAndWriteContractWithRetries } from "src/
|
|
2
|
+
import { simulateAndWriteContractWithRetries } from "src/test-utils";
|
|
3
3
|
import { createCreatorClient } from "src/sdk";
|
|
4
4
|
import { SubgraphMintGetter } from "src/mint/subgraph-mint-getter";
|
|
5
5
|
import { SubgraphRewardsGetter } from "../rewards/subgraph-rewards-getter";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Address, Account, PublicClient, TestClient, WalletClient } from "viem";
|
|
2
2
|
import { CollectorClient } from "../sdk";
|
|
3
|
-
import { simulateAndWriteContractWithRetries } from "
|
|
3
|
+
import { simulateAndWriteContractWithRetries } from "src/test-utils";
|
|
4
4
|
import { makeContractParameters } from "../utils";
|
|
5
5
|
import {
|
|
6
6
|
zoraTimedSaleStrategyABI,
|
|
@@ -14,7 +14,8 @@ import {
|
|
|
14
14
|
commentsABI,
|
|
15
15
|
callerAndCommenterABI,
|
|
16
16
|
} from "@zoralabs/protocol-deployments";
|
|
17
|
-
import { forkUrls, makeAnvilTest
|
|
17
|
+
import { forkUrls, makeAnvilTest } from "src/anvil";
|
|
18
|
+
import { writeContractWithRetries } from "src/test-utils";
|
|
18
19
|
import { createCollectorClient, createCreatorClient } from "src/sdk";
|
|
19
20
|
import { getAllowListEntry } from "src/allow-list/allow-list-client";
|
|
20
21
|
import { SubgraphMintGetter } from "./subgraph-mint-getter";
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { describe, expect, vi } from "vitest";
|
|
2
2
|
import { encodeAbiParameters, erc20Abi, parseEther } from "viem";
|
|
3
3
|
import { zoraSepolia, base } from "viem/chains";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
makeAnvilTest,
|
|
7
|
-
simulateAndWriteContractWithRetries,
|
|
8
|
-
} from "src/anvil";
|
|
4
|
+
import { forkUrls, makeAnvilTest } from "src/anvil";
|
|
5
|
+
import { simulateAndWriteContractWithRetries } from "src/test-utils";
|
|
9
6
|
import { createCollectorClient, createCreatorClient } from "src/sdk";
|
|
10
7
|
import { new1155ContractVersion } from "src/create/contract-setup";
|
|
11
8
|
import { ISubgraphQuerier } from "src/apis/subgraph-querier";
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { describe, expect, vi } from "vitest";
|
|
2
2
|
import { parseEther, Address, parseEventLogs } from "viem";
|
|
3
3
|
import { zoraSepolia } from "viem/chains";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
makeAnvilTest,
|
|
7
|
-
simulateAndWriteContractWithRetries,
|
|
8
|
-
} from "src/anvil";
|
|
4
|
+
import { forkUrls, makeAnvilTest } from "src/anvil";
|
|
5
|
+
import { simulateAndWriteContractWithRetries } from "src/test-utils";
|
|
9
6
|
import { createCollectorClient } from "src/sdk";
|
|
10
7
|
import {
|
|
11
8
|
zoraCreator1155ImplABI,
|
|
@@ -9,13 +9,11 @@ import {
|
|
|
9
9
|
zoraCreator1155ImplABI,
|
|
10
10
|
zoraMints1155ABI,
|
|
11
11
|
zoraMints1155Address,
|
|
12
|
-
zoraMintsManagerImplABI,
|
|
13
12
|
zoraMintsManagerImplAddress,
|
|
14
13
|
PremintMintArguments,
|
|
15
14
|
premintTypedDataDefinition,
|
|
16
15
|
zoraSparks1155Address,
|
|
17
16
|
zoraSparks1155ABI,
|
|
18
|
-
zoraSparksManagerImplABI,
|
|
19
17
|
} from "@zoralabs/protocol-deployments";
|
|
20
18
|
import {
|
|
21
19
|
Address,
|
|
@@ -39,10 +37,9 @@ import { zora } from "viem/chains";
|
|
|
39
37
|
import {
|
|
40
38
|
fixedPriceMinterMinterArguments,
|
|
41
39
|
getFixedPricedMinter,
|
|
42
|
-
waitForSuccess,
|
|
43
40
|
} from "src/test-utils";
|
|
44
41
|
import { PublicClient } from "src/utils";
|
|
45
|
-
|
|
42
|
+
import { waitForSuccess } from "src/waitForSuccess";
|
|
46
43
|
const sparksMainnetDeployedBlock = 17655716;
|
|
47
44
|
|
|
48
45
|
const anvilTest = makeAnvilTest({
|
package/src/test-utils.ts
CHANGED
|
@@ -4,25 +4,19 @@ import {
|
|
|
4
4
|
} from "@zoralabs/protocol-deployments";
|
|
5
5
|
import {
|
|
6
6
|
Address,
|
|
7
|
-
Hex,
|
|
8
7
|
PublicClient,
|
|
9
8
|
encodeAbiParameters,
|
|
10
9
|
keccak256,
|
|
11
10
|
toBytes,
|
|
12
11
|
parseAbiParameters,
|
|
12
|
+
Chain,
|
|
13
|
+
WalletClient,
|
|
14
|
+
SimulateContractReturnType,
|
|
15
|
+
Account,
|
|
13
16
|
} from "viem";
|
|
14
17
|
import { NewContractParams } from "./create/types";
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
export const waitForSuccess = async (hash: Hex, publicClient: PublicClient) => {
|
|
18
|
-
const receipt = await publicClient.waitForTransactionReceipt({
|
|
19
|
-
hash,
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
expect(receipt.status).toBe("success");
|
|
23
|
-
|
|
24
|
-
return receipt;
|
|
25
|
-
};
|
|
18
|
+
import { retries } from "./apis/http-api-base";
|
|
19
|
+
import { SimulateContractParametersWithAccount } from "./types";
|
|
26
20
|
|
|
27
21
|
export const getFixedPricedMinter = async ({
|
|
28
22
|
publicClient,
|
|
@@ -56,3 +50,53 @@ export const randomNonce = () =>
|
|
|
56
50
|
keccak256(toBytes(Math.round(Math.random() * 1000)));
|
|
57
51
|
export const thirtySecondsFromNow = () =>
|
|
58
52
|
BigInt(Math.round(new Date().getTime() / 1000)) + 30n;
|
|
53
|
+
|
|
54
|
+
export async function simulateAndWriteContractWithRetries({
|
|
55
|
+
parameters,
|
|
56
|
+
walletClient,
|
|
57
|
+
publicClient,
|
|
58
|
+
}: {
|
|
59
|
+
parameters: SimulateContractParametersWithAccount;
|
|
60
|
+
walletClient: WalletClient;
|
|
61
|
+
publicClient: PublicClient;
|
|
62
|
+
}) {
|
|
63
|
+
const { request } = await publicClient.simulateContract(parameters);
|
|
64
|
+
return await writeContractWithRetries({
|
|
65
|
+
request,
|
|
66
|
+
walletClient,
|
|
67
|
+
publicClient,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export async function writeContractWithRetries({
|
|
72
|
+
request,
|
|
73
|
+
walletClient,
|
|
74
|
+
publicClient,
|
|
75
|
+
}: {
|
|
76
|
+
request: SimulateContractReturnType<any, any, any, Chain, Account>["request"];
|
|
77
|
+
walletClient: WalletClient;
|
|
78
|
+
publicClient: PublicClient;
|
|
79
|
+
}) {
|
|
80
|
+
let tryCount = 1;
|
|
81
|
+
const tryFn = async () => {
|
|
82
|
+
if (tryCount > 1) {
|
|
83
|
+
console.log("retrying try #", tryCount);
|
|
84
|
+
}
|
|
85
|
+
const hash = await walletClient.writeContract(request);
|
|
86
|
+
const receipt = await publicClient.waitForTransactionReceipt({ hash });
|
|
87
|
+
|
|
88
|
+
if (receipt.status !== "success") {
|
|
89
|
+
console.log("failed try #", tryCount);
|
|
90
|
+
tryCount++;
|
|
91
|
+
throw new Error("transaction failed");
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return receipt;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
const shouldRetry = () => {
|
|
98
|
+
return true;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
return await retries(tryFn, 3, 1000, shouldRetry);
|
|
102
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { expect } from "vitest";
|
|
2
|
+
import { Hex } from "viem/_types/types/misc";
|
|
3
|
+
import { PublicClient } from "viem";
|
|
4
|
+
|
|
5
|
+
export const waitForSuccess = async (hash: Hex, publicClient: PublicClient) => {
|
|
6
|
+
const receipt = await publicClient.waitForTransactionReceipt({
|
|
7
|
+
hash,
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
expect(receipt.status).toBe("success");
|
|
11
|
+
|
|
12
|
+
return receipt;
|
|
13
|
+
};
|