diff --git a/app/quest-boost/claim/[boostId]/page.tsx b/app/quest-boost/claim/[boostId]/page.tsx
index 0c2b33c2..b058e84b 100644
--- a/app/quest-boost/claim/[boostId]/page.tsx
+++ b/app/quest-boost/claim/[boostId]/page.tsx
@@ -144,6 +144,14 @@ export default function Page({ params }: BoostQuestPageProps) {
height={97}
alt="usdc icon"
/>
+ ) : boost && getTokenName(boost?.token) === "LORDS" ? (
+
) : (
= ({
setTokenImageLink("/icons/eth.svg");
imageDimensions = { width: 15, height: 20 };
break;
+ case TOKEN_ADDRESS_MAP[network].LORDS:
+ setTokenImageLink("/icons/lord.webp");
+ imageDimensions = { width: 20, height: 20 };
+ break;
default:
setTokenImageLink("/icons/usdc.svg");
break;
diff --git a/components/quests/questDetails.tsx b/components/quests/questDetails.tsx
index 885a64c1..adc79c9f 100644
--- a/components/quests/questDetails.tsx
+++ b/components/quests/questDetails.tsx
@@ -379,7 +379,7 @@ const QuestDetails: FunctionComponent = ({
verifyRedirect={task.verify_redirect}
verifyEndpoint={
task.verify_endpoint_type &&
- task.verify_endpoint_type === "default"
+ task.verify_endpoint_type.startsWith("default")
? `${task.verify_endpoint}?addr=${hexToDecimal(address)}`
: task.verify_endpoint_type === "quiz"
? task.verify_endpoint
diff --git a/components/quests/task.tsx b/components/quests/task.tsx
index 7b6be8de..481947aa 100644
--- a/components/quests/task.tsx
+++ b/components/quests/task.tsx
@@ -73,6 +73,12 @@ const Task: FunctionComponent = ({
}
if (verifyRedirect) {
+ // if the verify_endpoint_type contains a timeout indication we use it,
+ // otherwise we use the default timeout of 15 seconds
+ const timeout =
+ verifyEndpointType.split("_").length === 2
+ ? parseInt(verifyEndpointType.split("_")[1]) ?? 15000
+ : 15000;
await new Promise((resolve) =>
setTimeout(() => {
setIsVerified(true);
@@ -80,7 +86,7 @@ const Task: FunctionComponent = ({
refreshRewards();
setIsLoading(false);
resolve(null);
- }, 15000)
+ }, timeout)
);
} else {
setIsVerified(true);
diff --git a/public/braavos/realms.webp b/public/braavos/realms.webp
new file mode 100644
index 00000000..8fa1777e
Binary files /dev/null and b/public/braavos/realms.webp differ
diff --git a/public/icons/lord.webp b/public/icons/lord.webp
new file mode 100644
index 00000000..501ee243
Binary files /dev/null and b/public/icons/lord.webp differ
diff --git a/tests/utils/tokenService.test.js b/tests/utils/tokenService.test.js
index a3d6b90a..31e75f0f 100644
--- a/tests/utils/tokenService.test.js
+++ b/tests/utils/tokenService.test.js
@@ -14,6 +14,12 @@ describe("getTokenName function", () => {
expect(tokenName).toBe("ETH");
});
+ it("should return 'LORDS' for LORDS token address on the current network", () => {
+ // Assuming TOKEN_ADDRESS_MAP is defined and has the necessary structure
+ const tokenName = getTokenName(TOKEN_ADDRESS_MAP["MAINNET"].LORDS);
+ expect(tokenName).toBe("LORDS");
+ });
+
it("should return 'USDC' for unknown token addresses on the current network", () => {
// Assuming TOKEN_ADDRESS_MAP is defined and has the necessary structure
const tokenName = getTokenName("unknownTokenAddress");
diff --git a/utils/constants.ts b/utils/constants.ts
index ee2f2c5b..53b19b28 100644
--- a/utils/constants.ts
+++ b/utils/constants.ts
@@ -29,9 +29,11 @@ export const TOKEN_ADDRESS_MAP = {
MAINNET: {
USDC: "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8",
ETH: "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",
+ LORDS: "0x0124aeb495b947201f5fac96fd1138e326ad86195b98df6dec9009158a533b49",
},
TESTNET: {
USDC: "0x005a643907b9a4bc6a55e9069c4fd5fd1f5c79a22470690f75556c4736e34426",
ETH: "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7",
+ LORDS: "0x05e367ac160e5f90c5775089b582dfc987dd148a5a2f977c49def2a6644f724b",
},
};
diff --git a/utils/tokenService.ts b/utils/tokenService.ts
index 1e1a29dd..79bad0a7 100644
--- a/utils/tokenService.ts
+++ b/utils/tokenService.ts
@@ -8,6 +8,8 @@ export const getTokenName = (token: string) => {
return "USDC";
case TOKEN_ADDRESS_MAP[network].ETH:
return "ETH";
+ case TOKEN_ADDRESS_MAP[network].LORDS:
+ return "LORDS";
default:
return "USDC";
}