Skip to content

Commit 26de76b

Browse files
committed
feat: add registration and update flow
1 parent 8f3096e commit 26de76b

File tree

9 files changed

+816
-174
lines changed

9 files changed

+816
-174
lines changed

src/api/GraphQl/schemas/generated/ens.ts

Lines changed: 253 additions & 2 deletions
Large diffs are not rendered by default.

src/api/GraphQl/schemas/generated/lens.tsx

Lines changed: 528 additions & 140 deletions
Large diffs are not rendered by default.

src/api/RestAPI/hooks/usePublishNimiIPNS.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ interface PublishIpfsParams {
3737
}
3838
export const publishNimiIpfs = async (params: PublishIpfsParams) => {
3939
const { data } = await getNimiAPIClient().post<{
40-
data: { cidv1: string };
40+
data: { cid: string };
4141
}>('/nimi/publish', params);
4242
return data.data;
4343
};

src/api/RestAPI/hooks/useRegisterNimiId.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,18 @@ export function useRegisterNimiId() {
2828
}
2929

3030
interface UpdateContentParams {
31-
contentHash: string;
31+
contenthash: string;
3232
signature: string;
3333
domainsNameHash: string;
3434
}
3535

36-
const updateContent = async ({ contentHash, signature, domainsNameHash }: UpdateContentParams) => {
36+
const updateContent = async ({ contenthash, signature, domainsNameHash }: UpdateContentParams) => {
3737
const { data } = await getNimiIdApiClient().put<{
3838
data: any;
39-
}>(`/domains/${domainsNameHash}/contentHash`, { signature, contentHash });
39+
}>(`/domains/${domainsNameHash}/contenthash`, { signature, contenthash });
4040
return data.data;
4141
};
42-
export function useSetIdContent() {
42+
43+
export function useSetIdContentHash() {
4344
return useMutation(['updateNimiIdContent'], updateContent);
4445
}

src/api/RestAPI/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export function getNimiAPIClient() {
3333

3434
export function getNimiIdApiClient() {
3535
return axios.create({
36-
baseURL: 'http://api.nimi.id',
36+
baseURL: 'https://api.nimi.id',
3737
});
3838
}
3939

src/components/CreateNimi/CreateNimi.tsx

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { PoapField } from './partials/PoapField';
1212
import { BlockchainAddresses, FormItem, InnerWrapper, MainContent, PageSectionTitle } from './styled';
1313
import { themes } from './themes';
1414
import { usePublishNimiIpfs } from '../../api/RestAPI/hooks/usePublishNimiIPNS';
15-
import { useSetIdContent } from '../../api/RestAPI/hooks/useRegisterNimiId';
15+
import { useSetIdContentHash } from '../../api/RestAPI/hooks/useRegisterNimiId';
1616
import { useENSPublicResolverContract } from '../../hooks/useENSPublicResolverContract';
1717
import { useRainbow } from '../../hooks/useRainbow';
1818
import {
@@ -54,7 +54,7 @@ export function CreateNimi({ ensAddress, ensName, availableThemes, initialNimi }
5454
const [showPreviewMobile, setShowPreviewMobile] = useState(false);
5555
const { modalOpened, ModalTypes, openModal, closeModal, showSpinner } = useUserInterface();
5656
const { mutateAsync: publishNimiAsync } = usePublishNimiIpfs();
57-
const { mutateAsync: updateNimiId } = useSetIdContent();
57+
const { mutateAsync: updateNimiId } = useSetIdContentHash();
5858
// const { mutateAsync: updateNimiAsync } = useUpdateNimiIPNS();
5959
const [isPublishingNimi, setIsPublishingNimi] = useState(false);
6060
const [isNimiPublished, setIsNimiPublished] = useState(false);
@@ -117,29 +117,32 @@ export function CreateNimi({ ensAddress, ensName, availableThemes, initialNimi }
117117
}
118118

119119
// Publishing a new Nimi IPNS record
120-
console.log('nimi', nimi);
121-
const { cidv1 } = await publishNimiAsync({
120+
debug('nimi', nimi);
121+
const { cid } = await publishNimiAsync({
122122
nimi,
123123
chainId: chainId as number,
124124
});
125125

126-
if (!cidv1) {
126+
if (!cid) {
127127
throw new Error('No CID returned from publishNimiViaIPNS');
128128
}
129129

130-
const contentHash = `ipfs://${cidv1}`;
130+
const contentHash = `ipfs://${cid}`;
131131
const newContentHashEncoded = encodeContenthash(contentHash).encoded as unknown as string;
132132
const signature = await signMessage({
133133
message: JSON.stringify({ contentHash: newContentHashEncoded }),
134134
});
135-
console.log('signature', signature);
136-
console.log('contentHash', contentHash);
135+
debug({ signature, contentHash });
137136
const domainsNameHash = ensNameHash(nimi.displayName);
138137

139-
const mutation = await updateNimiId({ contentHash, signature, domainsNameHash });
140-
console.log('mutation', mutation);
138+
const mutation = await updateNimiId({
139+
contenthash: newContentHashEncoded,
140+
signature,
141+
domainsNameHash,
142+
});
143+
debug('mutation', mutation);
141144
setStepsCompleted([PublishNimiPageStep.BUNDLE_NIMI_PAGE]);
142-
setPublishNimiResponseIpfsHash(cidv1);
145+
setPublishNimiResponseIpfsHash(cid);
143146

144147
setStepsCompleted((stepsCompleted) => [...stepsCompleted, PublishNimiPageStep.SET_CONTENT_HASH]);
145148
setIsNimiPublished(true);

src/components/Input/SearchInput/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ export const SearchInputSelect = ({ isSearching, isNameAvailable, value, handleO
1616
return (
1717
<SearchGroup>
1818
<SearchInputRing isSearching={isSearching} isENSNameAvailable={isNameAvailable}>
19-
<SearchInput placeholder="Username.Ethbr.Co" value={value} onChange={handleOnChange} />
19+
<SearchInput placeholder="username.ethbr.co" value={value} onChange={handleOnChange} />
2020
{value.length !== 0 && (
2121
<SearchSuggestion>
2222
{value}
23-
<Placeholder placeholder=".Ethbr.co" disabled={true} />
23+
<Placeholder placeholder=".ethbr.co" disabled={true} />
2424
</SearchSuggestion>
2525
)}
2626

src/modals/PublishNimiModal/PublishNimiModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ export function PublishNimiModal({
7979
) : (
8080
<Step isBusy={true}>Bundling your Nimi page 👀</Step>
8181
)}
82-
(<Step as="div">Update NIMI ID records for {ensName}</Step>)
82+
{/* <Step as="div">Update NIMI ID records for {ensName}</Step> */}
8383
{isPublished ? (
8484
<Step isBusy={true} target="_blank" rel="noreferrer" href={`https://${ensName}.limo`}>
8585
Your Nimi has been published

src/pages/Landing/Landing.tsx

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,18 @@ export function Landing() {
3636
const onClaimHandler = async () => {
3737
setSpinner(true);
3838
try {
39-
const rioName = `${searchValue}.${RIO_SUFIX}`;
39+
const name = `${searchValue}.${RIO_SUFIX}`;
4040
if (account && claimCode) {
41-
// const signature = await signMessage({
42-
// message: JSON.stringify({ name: rioName, registrant: account, claimCode }),
43-
// });
44-
// const data = await mutateAsync({
45-
// name: rioName,
46-
// registrant: account,
47-
// signature: signature,
48-
// claimCode,
49-
// });
50-
// console.log('data', data);
51-
41+
const signature = await signMessage({
42+
message: JSON.stringify({ name, registrant: account, claimCode }),
43+
});
44+
const data = await mutateAsync({
45+
name,
46+
registrant: account,
47+
signature: signature,
48+
claimCode,
49+
});
50+
console.log('data', data);
5251
navigate(`domains/${searchValue}.${RIO_SUFIX}`);
5352
}
5453
} catch (e) {

0 commit comments

Comments
 (0)