[252] Backend: Add webhook delivery system for transaction events #124
frontend.yml
on: pull_request
build-and-analyze
54s
lint-and-test
1m 2s
Annotations
10 errors and 2 warnings
|
lint-and-test
Process completed with exit code 1.
|
|
src/components/VaultDashboard.test.tsx > VaultDashboard > shows minimum deposit validation and clears error when corrected:
frontend/src/components/VaultDashboard.test.tsx#L190
TestingLibraryElementError: Unable to find an element with the text: /Approve & Deposit/i. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="vault-dashboard gap-lg"
>
<div
class="vault-dashboard-stats"
>
<div
class="glass-panel vault-stats-panel"
>
<div
class="glass-panel"
role="alert"
style="padding: 16px 18px; margin-bottom: 20px; background: rgba(255, 107, 107, 0.12); border: 1px solid rgba(255, 107, 107, 0.25);"
>
<div
style="font-weight: 600; margin-bottom: 4px;"
>
Data unavailable
</div>
<div
style="color: var(--text-secondary); font-size: 0.9rem;"
>
Failed to load vault data
</div>
</div>
<div
class="vault-stats-header flex justify-between items-center"
style="margin-bottom: 24px;"
>
<div>
<h2
style="font-size: 1.5rem; margin-bottom: 4px;"
>
Global RWA Yield Fund
</h2>
<span
class="tag"
style="background: rgba(255, 255, 255, 0.05); color: var(--text-secondary);"
>
Tokens: USDC
</span>
<div
aria-atomic="true"
aria-live="polite"
role="status"
style="margin-top: 8px; color: var(--text-secondary); font-size: 0.82rem; display: flex; align-items: center; gap: 4px;"
>
<span>
1 yvUSDC =
</span>
<div
aria-hidden="true"
class="skeleton "
style="width: 120px; height: 1.25rem;"
/>
</div>
</div>
<div
style="text-align: right;"
>
<div
style="color: var(--text-secondary); font-size: 0.85rem; display: flex; align-items: center; justify-content: flex-end; gap: 6px;"
>
Current APY
<span
style="display: inline-flex; align-items: center;"
>
<button
aria-label="More information"
class="help-icon-btn"
type="button"
>
<svg
aria-hidden="true"
class="lucide lucide-info"
fill="none"
height="14"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="14"
xmlns="http://www.w3.org/2000/svg"
>
<circle
cx="12"
cy="12"
r="10"
/>
<path
d="M12 16v-4"
/>
<path
d="M12 8h.01"
/>
</svg>
</button>
</span>
</div>
<div
class="text-gradient"
style="font-size: 2rem; font-family: var(--font-display); font-weight: 700;"
>
7.66%
</div>
</div>
</div>
<div
style="height: 1px; background: var(--border-glass); margin: 24px 0px;"
/>
<div
class="vault-stats-meta flex gap-xl"
style="margin-bottom: 32px;"
|
|
src/components/VaultDashboard.test.tsx > VaultDashboard > shows inline error and blocks submit for amounts above balance:
frontend/src/components/VaultDashboard.test.tsx#L175
TestingLibraryElementError: Unable to find an element with the text: /Approve & Deposit/i. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="vault-dashboard gap-lg"
>
<div
class="vault-dashboard-stats"
>
<div
class="glass-panel vault-stats-panel"
>
<div
class="glass-panel"
role="alert"
style="padding: 16px 18px; margin-bottom: 20px; background: rgba(255, 107, 107, 0.12); border: 1px solid rgba(255, 107, 107, 0.25);"
>
<div
style="font-weight: 600; margin-bottom: 4px;"
>
Data unavailable
</div>
<div
style="color: var(--text-secondary); font-size: 0.9rem;"
>
Failed to load vault data
</div>
</div>
<div
class="vault-stats-header flex justify-between items-center"
style="margin-bottom: 24px;"
>
<div>
<h2
style="font-size: 1.5rem; margin-bottom: 4px;"
>
Global RWA Yield Fund
</h2>
<span
class="tag"
style="background: rgba(255, 255, 255, 0.05); color: var(--text-secondary);"
>
Tokens: USDC
</span>
<div
aria-atomic="true"
aria-live="polite"
role="status"
style="margin-top: 8px; color: var(--text-secondary); font-size: 0.82rem; display: flex; align-items: center; gap: 4px;"
>
<span>
1 yvUSDC =
</span>
<div
aria-hidden="true"
class="skeleton "
style="width: 120px; height: 1.25rem;"
/>
</div>
</div>
<div
style="text-align: right;"
>
<div
style="color: var(--text-secondary); font-size: 0.85rem; display: flex; align-items: center; justify-content: flex-end; gap: 6px;"
>
Current APY
<span
style="display: inline-flex; align-items: center;"
>
<button
aria-label="More information"
class="help-icon-btn"
type="button"
>
<svg
aria-hidden="true"
class="lucide lucide-info"
fill="none"
height="14"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="14"
xmlns="http://www.w3.org/2000/svg"
>
<circle
cx="12"
cy="12"
r="10"
/>
<path
d="M12 16v-4"
/>
<path
d="M12 8h.01"
/>
</svg>
</button>
</span>
</div>
<div
class="text-gradient"
style="font-size: 2rem; font-family: var(--font-display); font-weight: 700;"
>
7.66%
</div>
</div>
</div>
<div
style="height: 1px; background: var(--border-glass); margin: 24px 0px;"
/>
<div
class="vault-stats-meta flex gap-xl"
style="margin-bottom: 32px;"
|
|
src/components/VaultDashboard.test.tsx > VaultDashboard > fills the input with max allowable amount via MAX button:
frontend/src/components/VaultDashboard.test.tsx#L160
TestingLibraryElementError: Unable to find an element with the text: /Approve & Deposit/i. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="vault-dashboard gap-lg"
>
<div
class="vault-dashboard-stats"
>
<div
class="glass-panel vault-stats-panel"
>
<div
class="glass-panel"
role="alert"
style="padding: 16px 18px; margin-bottom: 20px; background: rgba(255, 107, 107, 0.12); border: 1px solid rgba(255, 107, 107, 0.25);"
>
<div
style="font-weight: 600; margin-bottom: 4px;"
>
Data unavailable
</div>
<div
style="color: var(--text-secondary); font-size: 0.9rem;"
>
Failed to load vault data
</div>
</div>
<div
class="vault-stats-header flex justify-between items-center"
style="margin-bottom: 24px;"
>
<div>
<h2
style="font-size: 1.5rem; margin-bottom: 4px;"
>
Global RWA Yield Fund
</h2>
<span
class="tag"
style="background: rgba(255, 255, 255, 0.05); color: var(--text-secondary);"
>
Tokens: USDC
</span>
<div
aria-atomic="true"
aria-live="polite"
role="status"
style="margin-top: 8px; color: var(--text-secondary); font-size: 0.82rem; display: flex; align-items: center; gap: 4px;"
>
<span>
1 yvUSDC =
</span>
<div
aria-hidden="true"
class="skeleton "
style="width: 120px; height: 1.25rem;"
/>
</div>
</div>
<div
style="text-align: right;"
>
<div
style="color: var(--text-secondary); font-size: 0.85rem; display: flex; align-items: center; justify-content: flex-end; gap: 6px;"
>
Current APY
<span
style="display: inline-flex; align-items: center;"
>
<button
aria-label="More information"
class="help-icon-btn"
type="button"
>
<svg
aria-hidden="true"
class="lucide lucide-info"
fill="none"
height="14"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="14"
xmlns="http://www.w3.org/2000/svg"
>
<circle
cx="12"
cy="12"
r="10"
/>
<path
d="M12 16v-4"
/>
<path
d="M12 8h.01"
/>
</svg>
</button>
</span>
</div>
<div
class="text-gradient"
style="font-size: 2rem; font-family: var(--font-display); font-weight: 700;"
>
7.66%
</div>
</div>
</div>
<div
style="height: 1px; background: var(--border-glass); margin: 24px 0px;"
/>
<div
class="vault-stats-meta flex gap-xl"
style="margin-bottom: 32px;"
|
|
src/components/VaultDashboard.test.tsx > VaultDashboard > updates the amount input and processes a deposit:
frontend/src/components/VaultDashboard.test.tsx#L137
TestingLibraryElementError: Unable to find an element with the text: /Approve & Deposit/i. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="vault-dashboard gap-lg"
>
<div
class="vault-dashboard-stats"
>
<div
class="glass-panel vault-stats-panel"
>
<div
class="glass-panel"
role="alert"
style="padding: 16px 18px; margin-bottom: 20px; background: rgba(255, 107, 107, 0.12); border: 1px solid rgba(255, 107, 107, 0.25);"
>
<div
style="font-weight: 600; margin-bottom: 4px;"
>
Data unavailable
</div>
<div
style="color: var(--text-secondary); font-size: 0.9rem;"
>
Failed to load vault data
</div>
</div>
<div
class="vault-stats-header flex justify-between items-center"
style="margin-bottom: 24px;"
>
<div>
<h2
style="font-size: 1.5rem; margin-bottom: 4px;"
>
Global RWA Yield Fund
</h2>
<span
class="tag"
style="background: rgba(255, 255, 255, 0.05); color: var(--text-secondary);"
>
Tokens: USDC
</span>
<div
aria-atomic="true"
aria-live="polite"
role="status"
style="margin-top: 8px; color: var(--text-secondary); font-size: 0.82rem; display: flex; align-items: center; gap: 4px;"
>
<span>
1 yvUSDC =
</span>
<div
aria-hidden="true"
class="skeleton "
style="width: 120px; height: 1.25rem;"
/>
</div>
</div>
<div
style="text-align: right;"
>
<div
style="color: var(--text-secondary); font-size: 0.85rem; display: flex; align-items: center; justify-content: flex-end; gap: 6px;"
>
Current APY
<span
style="display: inline-flex; align-items: center;"
>
<button
aria-label="More information"
class="help-icon-btn"
type="button"
>
<svg
aria-hidden="true"
class="lucide lucide-info"
fill="none"
height="14"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="14"
xmlns="http://www.w3.org/2000/svg"
>
<circle
cx="12"
cy="12"
r="10"
/>
<path
d="M12 16v-4"
/>
<path
d="M12 8h.01"
/>
</svg>
</button>
</span>
</div>
<div
class="text-gradient"
style="font-size: 2rem; font-family: var(--font-display); font-weight: 700;"
>
7.66%
</div>
</div>
</div>
<div
style="height: 1px; background: var(--border-glass); margin: 24px 0px;"
/>
<div
class="vault-stats-meta flex gap-xl"
style="margin-bottom: 32px;"
|
|
src/components/VaultDashboard.test.tsx > VaultDashboard > allows switching between deposit and withdraw tabs:
frontend/src/components/VaultDashboard.test.tsx#L116
TestingLibraryElementError: Unable to find an element with the text: /Approve & Deposit/i. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.
Ignored nodes: comments, script, style
<body>
<div>
<div
class="vault-dashboard gap-lg"
>
<div
class="vault-dashboard-stats"
>
<div
class="glass-panel vault-stats-panel"
>
<div
class="glass-panel"
role="alert"
style="padding: 16px 18px; margin-bottom: 20px; background: rgba(255, 107, 107, 0.12); border: 1px solid rgba(255, 107, 107, 0.25);"
>
<div
style="font-weight: 600; margin-bottom: 4px;"
>
Data unavailable
</div>
<div
style="color: var(--text-secondary); font-size: 0.9rem;"
>
Failed to load vault data
</div>
</div>
<div
class="vault-stats-header flex justify-between items-center"
style="margin-bottom: 24px;"
>
<div>
<h2
style="font-size: 1.5rem; margin-bottom: 4px;"
>
Global RWA Yield Fund
</h2>
<span
class="tag"
style="background: rgba(255, 255, 255, 0.05); color: var(--text-secondary);"
>
Tokens: USDC
</span>
<div
aria-atomic="true"
aria-live="polite"
role="status"
style="margin-top: 8px; color: var(--text-secondary); font-size: 0.82rem; display: flex; align-items: center; gap: 4px;"
>
<span>
1 yvUSDC =
</span>
<div
aria-hidden="true"
class="skeleton "
style="width: 120px; height: 1.25rem;"
/>
</div>
</div>
<div
style="text-align: right;"
>
<div
style="color: var(--text-secondary); font-size: 0.85rem; display: flex; align-items: center; justify-content: flex-end; gap: 6px;"
>
Current APY
<span
style="display: inline-flex; align-items: center;"
>
<button
aria-label="More information"
class="help-icon-btn"
type="button"
>
<svg
aria-hidden="true"
class="lucide lucide-info"
fill="none"
height="14"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="14"
xmlns="http://www.w3.org/2000/svg"
>
<circle
cx="12"
cy="12"
r="10"
/>
<path
d="M12 16v-4"
/>
<path
d="M12 8h.01"
/>
</svg>
</button>
</span>
</div>
<div
class="text-gradient"
style="font-size: 2rem; font-family: var(--font-display); font-weight: 700;"
>
7.66%
</div>
</div>
</div>
<div
style="height: 1px; background: var(--border-glass); margin: 24px 0px;"
/>
<div
class="vault-stats-meta flex gap-xl"
style="margin-bottom: 32px;"
|
|
src/components/Navbar.test.tsx > Navbar > shows a network badge when wallet is connected:
frontend/src/hooks/useTvlTicker.ts#L15
Error: No QueryClient set, use QueryClientProvider to set one
❯ useQueryClient node_modules/@tanstack/react-query/src/QueryClientProvider.tsx:18:10
❯ useBaseQuery node_modules/@tanstack/react-query/src/useBaseQuery.ts:54:17
❯ useQuery node_modules/@tanstack/react-query/src/useQuery.ts:51:9
❯ useTvlTicker src/hooks/useTvlTicker.ts:15:35
❯ TvlTicker src/components/TvlTicker.tsx:12:35
❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25904:20
❯ renderWithHooks node_modules/react-dom/cjs/react-dom-client.development.js:7662:22
❯ updateFunctionComponent node_modules/react-dom/cjs/react-dom-client.development.js:10166:19
❯ beginWork node_modules/react-dom/cjs/react-dom-client.development.js:11778:18
❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13
|
|
src/components/Navbar.test.tsx > Navbar > shows the truncated wallet address when connected:
frontend/src/hooks/useTvlTicker.ts#L15
Error: No QueryClient set, use QueryClientProvider to set one
❯ useQueryClient node_modules/@tanstack/react-query/src/QueryClientProvider.tsx:18:10
❯ useBaseQuery node_modules/@tanstack/react-query/src/useBaseQuery.ts:54:17
❯ useQuery node_modules/@tanstack/react-query/src/useQuery.ts:51:9
❯ useTvlTicker src/hooks/useTvlTicker.ts:15:35
❯ TvlTicker src/components/TvlTicker.tsx:12:35
❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25904:20
❯ renderWithHooks node_modules/react-dom/cjs/react-dom-client.development.js:7662:22
❯ updateFunctionComponent node_modules/react-dom/cjs/react-dom-client.development.js:10166:19
❯ beginWork node_modules/react-dom/cjs/react-dom-client.development.js:11778:18
❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13
|
|
src/components/Navbar.test.tsx > Navbar > renders the wallet connect button:
frontend/src/hooks/useTvlTicker.ts#L15
Error: No QueryClient set, use QueryClientProvider to set one
❯ useQueryClient node_modules/@tanstack/react-query/src/QueryClientProvider.tsx:18:10
❯ useBaseQuery node_modules/@tanstack/react-query/src/useBaseQuery.ts:54:17
❯ useQuery node_modules/@tanstack/react-query/src/useQuery.ts:51:9
❯ useTvlTicker src/hooks/useTvlTicker.ts:15:35
❯ TvlTicker src/components/TvlTicker.tsx:12:35
❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25904:20
❯ renderWithHooks node_modules/react-dom/cjs/react-dom-client.development.js:7662:22
❯ updateFunctionComponent node_modules/react-dom/cjs/react-dom-client.development.js:10166:19
❯ beginWork node_modules/react-dom/cjs/react-dom-client.development.js:11778:18
❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13
|
|
src/components/Navbar.test.tsx > Navbar > renders the navbar with navigation links:
frontend/src/hooks/useTvlTicker.ts#L15
Error: No QueryClient set, use QueryClientProvider to set one
❯ useQueryClient node_modules/@tanstack/react-query/src/QueryClientProvider.tsx:18:10
❯ useBaseQuery node_modules/@tanstack/react-query/src/useBaseQuery.ts:54:17
❯ useQuery node_modules/@tanstack/react-query/src/useQuery.ts:51:9
❯ useTvlTicker src/hooks/useTvlTicker.ts:15:35
❯ TvlTicker src/components/TvlTicker.tsx:12:35
❯ Object.react_stack_bottom_frame node_modules/react-dom/cjs/react-dom-client.development.js:25904:20
❯ renderWithHooks node_modules/react-dom/cjs/react-dom-client.development.js:7662:22
❯ updateFunctionComponent node_modules/react-dom/cjs/react-dom-client.development.js:10166:19
❯ beginWork node_modules/react-dom/cjs/react-dom-client.development.js:11778:18
❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:874:13
|
|
build-and-analyze
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
lint-and-test
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
bundle-analysis
Expired
|
134 KB |
sha256:1eb88e953462afc0aa453d2f3c7cea93d0e834e4d115a08af956b972c9e72bc3
|
|