Merge branch 'main' of github.com:interchain-name/icns-frontend

# Conflicts:
#	pages/verification/index.tsx
This commit is contained in:
HeesungB 2022-12-12 15:42:13 +09:00
commit b33309493a
4 changed files with 51 additions and 35 deletions

View File

@ -9,21 +9,29 @@ export default withIronSessionApiRoute(async function handler(
res: NextApiResponse, res: NextApiResponse,
) { ) {
try { try {
if (!process.env.ICNS_VERIFIER_URI) { if (!process.env.ICNS_VERIFIER_ORIGIN_LIST) {
console.log(".env is not set"); console.log(".env is not set");
return res.status(500).json({ error: "Internal server error" }); return res.status(500).json({ error: "Internal server error" });
} }
const icnsVerificationInfo = await request<IcnsVerificationResponse>( const verifierOriginList = process.env.ICNS_VERIFIER_ORIGIN_LIST.split(",");
process.env.ICNS_VERIFIER_URI,
{ const verificationList = await Promise.allSettled(
method: "post", verifierOriginList.map((verfierOrigin) =>
headers: { request<IcnsVerificationResponse>(
"Content-Type": "application/json", `${verfierOrigin}/api/verify_twitter`,
}, {
body: JSON.stringify(req.body), method: "post",
}, headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(req.body),
},
),
),
); );
res.status(200).json(icnsVerificationInfo); res.status(200).json({
verificationList,
});
} catch (error) { } catch (error) {
console.error(error); console.error(error);
res.status(500).json({ error: "Internal server error" }); res.status(500).json({ error: "Internal server error" });

View File

@ -8,8 +8,6 @@ import Image from "next/image";
import { import {
IcnsVerificationResponse, IcnsVerificationResponse,
TwitterAuthInfoResponse, TwitterAuthInfoResponse,
VerifierMsg,
WidthHeightProps,
} from "../../types"; } from "../../types";
import { request } from "../../utils/url"; import { request } from "../../utils/url";
@ -24,7 +22,6 @@ import { SkeletonChainList } from "../../components/skeleton";
import { PrimaryButton } from "../../components/primary-button"; import { PrimaryButton } from "../../components/primary-button";
import { AccountInfos } from "../../config"; import { AccountInfos } from "../../config";
import { import {
ProfileContainer,
TwitterProfile, TwitterProfile,
} from "../../components/twitter-profile"; } from "../../components/twitter-profile";
import { ChainList } from "../../components/chain-list"; import { ChainList } from "../../components/chain-list";
@ -49,24 +46,20 @@ export default function VerificationPage() {
setTwitterAuthInfo(newTwitterAuthInfo); setTwitterAuthInfo(newTwitterAuthInfo);
// const verifierMsg: VerifierMsg = { const icnsVerificationList = (
// unique_twitter_id: newTwitterAuthInfo.id, await request<IcnsVerificationResponse>("/api/icns-verification", {
// name: newTwitterAuthInfo.username, method: "post",
// claimer: "osmo1y5mm5nj5m8ttddt5ccspek6xgyyavehrkak7gq", headers: {
// contract_address: "osmo1y5mm5nj5m8ttddt5ccspek6xgyyavehrkak7gq", "Content-Type": "application/json",
// chain_id: "osmosis-1", },
// }; body: JSON.stringify({
// claimer: "osmo1y5mm5nj5m8ttddt5ccspek6xgyyavehrkak7gq",
// await request<IcnsVerificationResponse>("/api/icns-verification", { authToken: newTwitterAuthInfo.accessToken,
// method: "post", }),
// headers: { })
// "Content-Type": "application/json", ).verificationList;
// },
// body: JSON.stringify({ console.log(icnsVerificationList);
// msg: JSON.stringify(verifierMsg),
// authToken: newTwitterAuthInfo.accessToken,
// }),
// });
setIsLoading(false); setIsLoading(false);
} }

View File

@ -15,6 +15,21 @@ export interface TwitterAuthInfoResponse {
} }
export interface IcnsVerificationResponse { export interface IcnsVerificationResponse {
signature: number[]; verificationList: (
algorithm: string; | {
status: "fulfilled";
value: {
errors: Error[];
data: {
verifying_msg: string;
signature: number[];
algorithm: string;
};
};
}
| {
status: "rejected";
reason: Error;
}
)[];
} }

View File

@ -1,4 +1,4 @@
export interface VerifierMsg { export interface VerifyingMsg {
unique_twitter_id: string; unique_twitter_id: string;
name: string; name: string;
claimer: string; claimer: string;