@vlayer/react 0.1.0-nightly-20250220-cf55fc9 → 0.1.0-nightly-20250221-9b0a3d4

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interface.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.test.d.ts","sourceRoot":"","sources":["../src/interface.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import * as hooks from "./index.js";
3
+ describe("interface", () => {
4
+ it("should export all must have hooks", () => {
5
+ expect(Object.keys(hooks)).toEqual(expect.arrayContaining([
6
+ "useWebProof", // counterpart of webProofProvider.getWebProof https://book.vlayer.xyz/javascript/web-proofs.html
7
+ ]));
8
+ });
9
+ });
10
+ //# sourceMappingURL=interface.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.test.js","sourceRoot":"","sources":["../src/interface.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAChC,MAAM,CAAC,eAAe,CAAC;YACrB,aAAa,EAAE,iGAAiG;SACjH,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useCallProver.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCallProver.test.d.ts","sourceRoot":"","sources":["../../src/useCallProver/useCallProver.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,97 @@
1
+ import { renderHook, act } from "@testing-library/react";
2
+ import { describe, test, expect, vi, beforeEach } from "vitest";
3
+ import { useCallProver, ProverStatus } from "./useCallProver.js";
4
+ const mockVlayerClient = vi.hoisted(() => ({
5
+ prove: vi.fn(),
6
+ }));
7
+ const mockChainId = 1;
8
+ const anotherChainId = 2;
9
+ describe("useCallProver", () => {
10
+ beforeEach(() => {
11
+ vi.mock("../context", () => ({
12
+ useProofContext: () => ({
13
+ vlayerClient: mockVlayerClient,
14
+ }),
15
+ }));
16
+ vi.mock("wagmi", () => ({
17
+ useChainId: () => mockChainId,
18
+ }));
19
+ mockVlayerClient.prove.mockReset();
20
+ });
21
+ test("initial state", () => {
22
+ const { result } = renderHook(() => useCallProver({
23
+ address: "0x456",
24
+ proverAbi: [],
25
+ functionName: "test",
26
+ }));
27
+ expect(result.current).toMatchObject({
28
+ status: ProverStatus.Idle,
29
+ error: null,
30
+ data: null,
31
+ isIdle: true,
32
+ isPending: false,
33
+ isReady: false,
34
+ isError: false,
35
+ });
36
+ });
37
+ test("success", async () => {
38
+ const mockHash = "0x123";
39
+ mockVlayerClient.prove.mockResolvedValueOnce({ hash: mockHash });
40
+ const { result } = renderHook(() => useCallProver({
41
+ address: "0x456",
42
+ proverAbi: [],
43
+ functionName: "test",
44
+ }));
45
+ await act(async () => {
46
+ await result.current.callProver([]);
47
+ });
48
+ expect(result.current).toMatchObject({
49
+ status: ProverStatus.Ready,
50
+ data: { hash: mockHash },
51
+ isReady: true,
52
+ error: null,
53
+ isError: false,
54
+ });
55
+ });
56
+ test("error on prove failure", async () => {
57
+ const mockError = new Error("Proving failed");
58
+ mockVlayerClient.prove.mockRejectedValueOnce(mockError);
59
+ const { result } = renderHook(() => useCallProver({
60
+ address: "0x456",
61
+ proverAbi: {},
62
+ functionName: "test",
63
+ }));
64
+ await act(async () => {
65
+ await result.current.callProver([]);
66
+ });
67
+ expect(result.current).toMatchObject({
68
+ status: ProverStatus.Error,
69
+ error: mockError,
70
+ isError: true,
71
+ });
72
+ });
73
+ test("success with another chainId", async () => {
74
+ const { result } = renderHook(() => useCallProver({
75
+ address: "0x456",
76
+ proverAbi: [],
77
+ functionName: "test",
78
+ }));
79
+ vi.mock("wagmi", () => ({
80
+ useChainId: () => anotherChainId,
81
+ }));
82
+ const proverCallArgs = {
83
+ address: "0x456",
84
+ proverAbi: [],
85
+ functionName: "test",
86
+ args: [],
87
+ };
88
+ await act(async () => {
89
+ await result.current.callProver([]);
90
+ });
91
+ expect(mockVlayerClient.prove).toHaveBeenCalledWith({
92
+ ...proverCallArgs,
93
+ chainId: anotherChainId,
94
+ });
95
+ });
96
+ });
97
+ //# sourceMappingURL=useCallProver.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCallProver.test.js","sourceRoot":"","sources":["../../src/useCallProver/useCallProver.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useWaitForProvingResult.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWaitForProvingResult.test.d.ts","sourceRoot":"","sources":["../../src/useWaitForProvingResult/useWaitForProvingResult.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ import { renderHook, waitFor } from "@testing-library/react";
2
+ import { describe, it, expect, vi } from "vitest";
3
+ import { useWaitForProvingResult, WaitForProvingResultStatus, } from "./useWaitForProvingResult.js";
4
+ const mockResult = { success: true };
5
+ const mockError = new Error("Test error");
6
+ const mockHash = "0x123";
7
+ const mockVlayerClient = vi.hoisted(() => ({
8
+ waitForProvingResult: vi.fn().mockResolvedValue({ success: true }),
9
+ }));
10
+ vi.mock("../context", () => ({
11
+ useProofContext: () => ({
12
+ vlayerClient: mockVlayerClient,
13
+ }),
14
+ }));
15
+ describe("useWaitForProvingResult", () => {
16
+ it("should initialize properly", () => {
17
+ const { result } = renderHook(() => useWaitForProvingResult(null));
18
+ expect(result.current).toMatchObject({
19
+ status: WaitForProvingResultStatus.Idle,
20
+ isIdle: true,
21
+ error: null,
22
+ });
23
+ });
24
+ it("should handle successful proving result", async () => {
25
+ const { result } = renderHook(() => useWaitForProvingResult({ hash: "0x1234" }));
26
+ await waitFor(() => {
27
+ expect(result.current).toMatchObject({
28
+ data: mockResult,
29
+ status: WaitForProvingResultStatus.Ready,
30
+ isReady: true,
31
+ error: null,
32
+ });
33
+ });
34
+ });
35
+ it("should handle proving error", async () => {
36
+ mockVlayerClient.waitForProvingResult.mockRejectedValueOnce(mockError);
37
+ const { result } = renderHook(() => useWaitForProvingResult({ hash: mockHash }));
38
+ await waitFor(() => {
39
+ expect(result.current).toMatchObject({
40
+ status: WaitForProvingResultStatus.Error,
41
+ isError: true,
42
+ error: mockError,
43
+ });
44
+ });
45
+ });
46
+ it("should set pending status while waiting for result", async () => {
47
+ mockVlayerClient.waitForProvingResult.mockImplementation(() => new Promise((resolve) => setTimeout(() => resolve(mockResult), 100)));
48
+ const { result } = renderHook(() => useWaitForProvingResult({ hash: mockHash }));
49
+ await waitFor(() => {
50
+ expect(result.current).toMatchObject({
51
+ status: WaitForProvingResultStatus.Pending,
52
+ isPending: true,
53
+ });
54
+ });
55
+ });
56
+ });
57
+ //# sourceMappingURL=useWaitForProvingResult.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWaitForProvingResult.test.js","sourceRoot":"","sources":["../../src/useWaitForProvingResult/useWaitForProvingResult.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vlayer/react",
3
- "version": "0.1.0-nightly-20250220-cf55fc9",
3
+ "version": "0.1.0-nightly-20250221-9b0a3d4",
4
4
  "exports": {
5
5
  ".": "./dist/index.js"
6
6
  },
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=context.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.test.d.ts","sourceRoot":"","sources":["../src/context.test.tsx"],"names":[],"mappings":""}
@@ -1,75 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { describe, it, expect } from "vitest";
3
- import { renderHook } from "@testing-library/react";
4
- import { ProofProvider, useProofContext, useProverContext, useWebProofContext, } from "./context.js";
5
- import { DEFAULT_CONFIG, DEFAULT_CONFIG_ENV } from "./defaults.js";
6
- import { ProofEnv } from "./types.js";
7
- describe("Context Providers and Hooks", () => {
8
- describe("useProofContext", () => {
9
- it("should throw error when used outside ProofProvider", () => {
10
- expect(() => {
11
- renderHook(() => useProofContext());
12
- }).toThrow("useProofContext must be used within a ProofProvider");
13
- });
14
- it("should provide both WebProof and Prover contexts", () => {
15
- const config = {
16
- proverUrl: "test-prover-url",
17
- notaryUrl: "test-notary-url",
18
- wsProxyUrl: "test-ws-url",
19
- };
20
- const wrapper = ({ children }) => (_jsx(ProofProvider, { config: config, children: children }));
21
- const { result } = renderHook(() => useProofContext(), { wrapper });
22
- expect(result.current.webProofProvider).toBeDefined();
23
- expect(result.current.vlayerClient).toBeDefined();
24
- expect(result.current.config).toEqual(config);
25
- });
26
- it("should use default config when env is provided", () => {
27
- const config = {
28
- env: ProofEnv.TESTNET,
29
- wsProxyUrl: "test-ws-url",
30
- };
31
- const wrapper = ({ children }) => (_jsx(ProofProvider, { config: config, children: children }));
32
- const { result } = renderHook(() => useProofContext(), { wrapper });
33
- expect(result.current.config).toEqual({
34
- ...DEFAULT_CONFIG[ProofEnv.TESTNET],
35
- ...{ wsProxyUrl: config.wsProxyUrl },
36
- });
37
- });
38
- it("should use proper default config when env is not provided", () => {
39
- const config = {
40
- proverUrl: "custom-url",
41
- };
42
- const wrapper = ({ children }) => (_jsx(ProofProvider, { config: config, children: children }));
43
- const { result } = renderHook(() => useProofContext(), { wrapper });
44
- expect(result.current.config).toEqual({
45
- ...DEFAULT_CONFIG[DEFAULT_CONFIG_ENV],
46
- ...config,
47
- });
48
- });
49
- });
50
- describe("useWebProofContext", () => {
51
- it("should throw error when used outside WebProofProvider", () => {
52
- expect(() => {
53
- renderHook(() => useWebProofContext());
54
- }).toThrow("useWebProofContext must be used within a WebProofProvider");
55
- });
56
- it("should return webProofContext when used within Provider", () => {
57
- const wrapper = ({ children }) => (_jsx(ProofProvider, { children: children }));
58
- const { result } = renderHook(() => useWebProofContext(), { wrapper });
59
- expect(result.current.webProofProvider).toBeDefined();
60
- });
61
- });
62
- describe("useProverContext", () => {
63
- it("should throw error when used outside ProverProvider", () => {
64
- expect(() => {
65
- renderHook(() => useProverContext());
66
- }).toThrow("useProverContext must be used within a ProverProvider");
67
- });
68
- it("should return proverContext when used within Provider", () => {
69
- const wrapper = ({ children }) => (_jsx(ProofProvider, { children: children }));
70
- const { result } = renderHook(() => useProverContext(), { wrapper });
71
- expect(result.current.vlayerClient).toBeDefined();
72
- });
73
- });
74
- });
75
- //# sourceMappingURL=context.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.test.js","sourceRoot":"","sources":["../src/context.test.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=useWebProof.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWebProof.test.d.ts","sourceRoot":"","sources":["../../src/useWebproof/useWebProof.test.tsx"],"names":[],"mappings":""}
@@ -1,119 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { act, renderHook } from "@testing-library/react";
3
- import { it, expect, describe, vi, beforeEach } from "vitest";
4
- import { useWebProof } from "./useWebProof.js";
5
- import { ProofProvider } from "../context.js";
6
- import { MockExtensionWebProofProvider } from "./extension.mock.js";
7
- import { WebProofRequestStatus } from "../types.js";
8
- const mocks = vi.hoisted(() => ({
9
- createExtensionWebProofProvider: vi.fn(),
10
- }));
11
- vi.mock("@vlayer/sdk/web_proof", () => ({
12
- createExtensionWebProofProvider: mocks.createExtensionWebProofProvider,
13
- }));
14
- const stubWebProofRequest = {
15
- proverCallCommitment: {
16
- address: "0x",
17
- proverAbi: [
18
- {
19
- type: "function",
20
- name: "mint",
21
- inputs: [],
22
- outputs: [],
23
- stateMutability: "nonpayable",
24
- },
25
- ],
26
- chainId: 1,
27
- functionName: "mint",
28
- commitmentArgs: [],
29
- },
30
- logoUrl: "http://twitterswap.com/logo.png",
31
- steps: [],
32
- };
33
- describe("useWebproof", () => {
34
- beforeEach(() => {
35
- vi.useFakeTimers();
36
- });
37
- const VlayerMockContext = ({ children }) => (_jsx(ProofProvider, { children: children }));
38
- const renderWebproofHook = () => renderHook(() => useWebProof(stubWebProofRequest), {
39
- wrapper: VlayerMockContext,
40
- });
41
- const setupMockProvider = (options = {}) => {
42
- mocks.createExtensionWebProofProvider.mockImplementation(() => new MockExtensionWebProofProvider(options));
43
- vi.runAllTimers();
44
- };
45
- it("should throw error if called outside of ProofProvider", () => {
46
- expect(() => renderHook(() => useWebProof(stubWebProofRequest))).toThrow("useProofContext must be used within a ProofProvider");
47
- });
48
- it("should initialize with the correct state", () => {
49
- setupMockProvider();
50
- const { result } = renderWebproofHook();
51
- expect(result.current).toEqual({
52
- webProof: null,
53
- status: WebProofRequestStatus.idle,
54
- isIdle: true,
55
- isError: false,
56
- isSuccess: false,
57
- isPending: false,
58
- error: null,
59
- requestWebProof: expect.any(Function),
60
- });
61
- });
62
- it("should request the web proof", () => {
63
- const { result } = renderWebproofHook();
64
- act(() => result.current.requestWebProof());
65
- expect(result.current).toEqual({
66
- webProof: null,
67
- status: WebProofRequestStatus.pending,
68
- isIdle: false,
69
- isError: false,
70
- isSuccess: false,
71
- isPending: true,
72
- error: null,
73
- requestWebProof: expect.any(Function),
74
- });
75
- });
76
- it("should set the web proof when the request is successful", () => {
77
- setupMockProvider({
78
- shouldSucceed: true,
79
- mockProof: { mock: "proof" },
80
- });
81
- const { result, rerender } = renderWebproofHook();
82
- act(() => result.current.requestWebProof());
83
- vi.advanceTimersByTime(1000);
84
- rerender();
85
- expect(result.current).toMatchObject({
86
- webProof: {
87
- webProofJson: JSON.stringify({ presentationJson: { mock: "proof" } }),
88
- },
89
- status: WebProofRequestStatus.success,
90
- isIdle: false,
91
- isPending: false,
92
- isError: false,
93
- isSuccess: true,
94
- error: null,
95
- requestWebProof: expect.any(Function),
96
- });
97
- });
98
- it("should set the error when the request fails", () => {
99
- setupMockProvider({
100
- shouldSucceed: false,
101
- mockError: "Mock error occurred",
102
- });
103
- const { result, rerender } = renderWebproofHook();
104
- act(() => result.current.requestWebProof());
105
- vi.advanceTimersByTime(1000);
106
- rerender();
107
- expect(result.current).toEqual({
108
- webProof: null,
109
- status: WebProofRequestStatus.error,
110
- isIdle: false,
111
- isPending: false,
112
- isError: true,
113
- isSuccess: false,
114
- error: new Error("Mock error occurred"),
115
- requestWebProof: expect.any(Function),
116
- });
117
- });
118
- });
119
- //# sourceMappingURL=useWebProof.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWebProof.test.js","sourceRoot":"","sources":["../../src/useWebproof/useWebProof.test.tsx"],"names":[],"mappings":"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"}