Skip to content

Commit 269d801

Browse files
authored
Merge pull request #487 from hypercerts-org/dev
2 parents de43ff6 + 551f998 commit 269d801

File tree

6 files changed

+109
-29
lines changed

6 files changed

+109
-29
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Build and Test Frontend
2+
on:
3+
pull_request:
4+
branches: [ dev, main, release ]
5+
push:
6+
branches: [ dev, main, release ]
7+
8+
jobs:
9+
test:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
14+
- name: Setup Node.js
15+
uses: actions/setup-node@v4
16+
with:
17+
node-version: '20'
18+
19+
- name: Setup pnpm
20+
uses: pnpm/action-setup@v4
21+
with:
22+
version: '9.2.0'
23+
24+
- name: Install dependencies
25+
run: pnpm install
26+
27+
- name: Run tests
28+
run: pnpm test
29+
30+
- name: Build frontend
31+
run: pnpm build
32+
33+
- name: Run lint
34+
run: pnpm lint
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Create Release PR
2+
on:
3+
push:
4+
branches: [ main ]
5+
6+
permissions:
7+
contents: write
8+
pull-requests: write
9+
10+
jobs:
11+
release:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Semantic Release Versioning
17+
uses: cycjimmy/semantic-release-action@v4
18+
with:
19+
extra_plugins: |
20+
@semantic-release/commit-analyzer
21+
@semantic-release/release-notes-generator
22+
@semantic-release/github
23+
env:
24+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25+
26+
- name: Create Release PR
27+
env:
28+
GH_TOKEN: ${{ secrets.GHA_CREATE_PR }}
29+
run: |
30+
gh pr create \
31+
--base release \
32+
--head main \
33+
--title "chore: new release" \
34+
--body "Automated PR from main to release" \
35+
--label "automated pr"

components/hypercert/hypercert-details.tsx

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -68,34 +68,38 @@ export default async function HypercertDetails({
6868
<Creator hypercert={hypercert} />
6969
<ReadMore text={hypercert?.metadata?.description} length={280} />
7070
<ExternalUrl url={hypercert?.metadata?.external_url} />
71-
{(hypercert?.metadata?.work_timeframe_from as string) && (
72-
<>
73-
<Separator />
74-
<h2 className="uppercase text-sm text-slate-500 font-medium tracking-wider">
75-
TIME OF WORK
76-
</h2>
77-
<TimeFrame
78-
from={hypercert.metadata?.work_timeframe_from}
79-
to={hypercert.metadata?.work_timeframe_to}
80-
/>
81-
</>
82-
)}
8371
</section>
8472
</article>
8573

74+
{(hypercert?.metadata?.work_timeframe_from ||
75+
hypercert?.metadata?.work_scope) && (
76+
<>
77+
<Separator />
78+
<section className="space-y-4 lg:flex lg:space-y-0 lg:space-x-8">
79+
{hypercert?.metadata?.work_timeframe_from && (
80+
<div className="flex flex-col gap-y-2 w-full max-w-[500px]">
81+
<h2 className="uppercase text-sm text-slate-500 font-medium tracking-wider">
82+
TIME OF WORK
83+
</h2>
84+
<TimeFrame
85+
from={hypercert.metadata?.work_timeframe_from}
86+
to={hypercert.metadata?.work_timeframe_to}
87+
/>
88+
</div>
89+
)}
90+
{hypercert?.metadata?.work_scope && (
91+
<WorkScope hypercert={hypercert} />
92+
)}
93+
</section>
94+
</>
95+
)}
8696
<Separator />
8797
<section className="space-y-4 lg:flex lg:space-y-0 lg:space-x-8">
8898
{hypercert?.metadata?.contributors && (
8999
<Contributors hypercert={hypercert} />
90100
)}
91101
<Fractions hypercert={hypercert} />
92102
</section>
93-
{hypercert?.metadata?.work_scope && (
94-
<>
95-
<Separator />
96-
<WorkScope hypercert={hypercert} />
97-
</>
98-
)}
99103
<Separator />
100104
</Suspense>
101105
</section>

lib/evmClient.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class DrpcProvider implements RpcProvider {
6161
}
6262
}
6363

64-
class GlifProvider implements RpcProvider {
64+
class FVMProvider implements RpcProvider {
6565
getUrl(chainId: number): string | undefined {
6666
const urls: Record<number, string> = {
6767
314: `https://rpc.ankr.com/filecoin`,
@@ -71,11 +71,21 @@ class GlifProvider implements RpcProvider {
7171
}
7272
}
7373

74+
class AnkrProvider implements RpcProvider {
75+
getUrl(chainId: number): string | undefined {
76+
const urls: Record<number, string> = {
77+
42220: `https://rpc.ankr.com/celo`,
78+
};
79+
return urls[chainId];
80+
}
81+
}
82+
7483
export class EvmClientFactory {
7584
private static readonly providers: RpcProvider[] = [
7685
new AlchemyProvider(),
86+
new AnkrProvider(),
7787
new InfuraProvider(),
78-
new GlifProvider(),
88+
new FVMProvider(),
7989
new DrpcProvider(),
8090
];
8191

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "hypercert-app",
3-
"version": "0.1.0",
3+
"version": "0.1.1",
44
"private": true,
55
"scripts": {
66
"dev": "next dev",

test/lib/evmClient.test.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import { beforeEach, describe, expect, it, vi } from "vitest";
2-
import { UnifiedRpcClientFactory } from "@/lib/rpcClientFactory";
3-
import * as viem from "viem";
1+
import { describe, expect, it, vi } from "vitest";
42

53
vi.mock("@/utils/constants", () => ({
64
environment: "test",
@@ -92,15 +90,14 @@ describe("RPC Providers", () => {
9290
expect(url).toContain("alchemy-key");
9391
});
9492

95-
it("should return Infura URL when Alchemy is not available", () => {
93+
it("should return Ankr URL when Alchemy is not available", () => {
9694
const url = EvmClientFactory.getRpcUrl(42220); // Celo
97-
expect(url).toContain("infura.io");
98-
expect(url).toContain("infura-key");
95+
expect(url).toContain("ankr.com");
9996
});
10097

101-
it("should return Glif URL for Filecoin", () => {
98+
it("should return ankr.com URL for Filecoin", () => {
10299
const url = EvmClientFactory.getRpcUrl(314159);
103-
expect(url).toContain("glif.io");
100+
expect(url).toContain("https://rpc.ankr.com/");
104101
});
105102

106103
it("should throw error for unsupported chain", () => {

0 commit comments

Comments
 (0)